LinMinquan's Blog

Experience technology to change life

尽量少用GetComponent

http://www.cnblogs.com/murongxiaopifu/p/4284988.html

上面链接时有提到有人做了个测试:用GetComponent()获取Transform组件,比预先保存其引用后再调用要慢得多。

我搜了下,找到那个测试。即下面的链接。

http://forum.unity3d.com/threads/cachedmb.130365/

代码拿来跑了下,结果确实类似。所以在经常要用到的地方少用GetComponent<>(),尽量预先保存引用后再调用。

它的测试代码有一些写法比较有意思,顺便学习了下。

yield return null

表示停顿一帧,才再继续往下走。

这里的计时用到Stopwatch,从字面意思上看就是用来测时间的,用来测一段代码运行的时间。它这里的Stopwatch下面的大括号只是为了让人看得更明白,知道记时开始和结束的地方。

https://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

这里面有用到var,我一直以为C#中是没有var的,js中才有。

搜了下C#中var的用法。

http://zhidao.baidu.com/link?url=mJX9fSA0_N2CaZYPzm3nTMlyBLVNVfMkm5r6IlZHPCWaIguhIJEbDidKBJzy7xPxeQ5bKUSTxQO9KOMPaoI5Pa


Share