gpt4 book ai didi

c# - transform.localPosition 与 trans.localPosition(缓存)

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:15 48 4
gpt4 key购买 nike

哪个性能更好?还是一样?因为我在一篇文章中看到告诉我缓存组件而不是 getComponent 每帧。

哪个性能更好

void Update(){
transform.localPosition
}

Transform trans;

void Awake(){
trans = GetComponent<Transform>();
}

void Update(){
trans.localPosition;
}

最佳答案

您在文章中读到的内容是真实的:保存对组件的引用比在每一帧中使用 GetComponent() 更有利于提高性能。

但是,Unity 会存储一个默认引用,指向您的单一行为脚本所附加的对象的转换。当您使用 transform.localPosition(与 this.transform.localPosition 相同)时,您正在使用该默认引用(这更类似于您缓存组件的想法而不是GetComponent()).

回答你的问题:您提供的两种代码方法的执行几乎完全相同,除了第一种方法跳过额外的引用分配(假设您在第二种方法的代码中的某处调用 trans = this.transform)。

希望对您有所帮助!

关于c# - transform.localPosition 与 trans.localPosition(缓存),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35137410/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com