unity3d 在Unity中,GameObject.FindObjectOfType()在性能上比GameObject.Find()更便宜吗?

64jmpszr  于 2022-11-30  发布在  其他
关注(0)|答案(1)|浏览(270)

我正在使用Unity对我的独立游戏进行最后的收尾工作,我一直在考虑提高我的游戏性能。我想知道GameObject.FindObjectOfType()是否比GameObject.Find()便宜?谢谢!

hgb9j2n6

hgb9j2n61#

如果你真的关心性能,那就不要使用它们--或者至少最小化它。
使用这些方法会循环遍历GameObject列表并返回对象,因为循环会对性能造成很大影响。所以如果你使用它们,千万不要在Update()-方法中调用它们,在Start()或任何不经常调用的方法中调用它们并存储值。
老实说,我不知道哪一个更快。如果要我猜的话,我会说是GameObject.Find(),因为它只检查名称,而FindObjectOfType()检查组件。但即使我考虑使用FindObjectOfType(),因为Find()使用字符串,而您可能希望避免它。因为输入错误(如果您没有将它储存在单一类别中,而只是指涉变数)

相关问题