コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Material の SetXXXX 関数で propertyName を渡す方法と nameID を渡す方法のどちらが高速か検証しました

はじめに

http://japan.unity3d.com/unite/unite2016/

Unite 2016の「モバイル端末向けのUnityアプリケーションの最適化実践テクニック」
の講演において、MaterialやShaderのSetXXXX関数を使用する場合、
propertyNameを渡すよりも、nameIDを渡す方が高速と聞いたので
MaterialのSetColor関数で速度を調査しました

検証用スクリプト

設定時間(秒)の比較

方法 1,000回 10,000回 100,000回
propertyName 0.0002208948 0.004545569 0.02228272
nameID 0.0001457334 0.003026962 0.01603591

まとめ

確かにnameIDを渡す方が速いようです

関連記事