ProjectSettings - Graphics Settings - Built-in shader Settings の設定差によるパッケージサイズの差
GraphicsSettings
http://docs.unity3d.com/ja/current/Manual/class-GraphicsSettings.html
の Built-in shader Settings ですが、モバイルだとほぼほぼDefferdRenderingすることもなさそうだし必要ない気がする。
遅延シェーディング、遅延ライティングとも、使用しない場合はそれぞれ “No Support” と指定すれば、ゲームのデータファイルのスペースを節約できます。
ともあるので、「データファイルのスペース」が果たしてパッケージのサイズなのか起動後のメモリサイズなのかよくわからなかったので、とりあえずapkを作ってパッケージサイズだけでも比べてみた。
※プロジェクトを作った直後のシーンでapk作成
Defferd,Defferd Reflection,Legacy Defferdが全てBuilt-in Shaderの場合
全てNo Supportの場合
という事で、
全てBuilt-in shader … 19,426,543 bytes
全てNo Support … 19,373,868 bytes
とパッケージサイズだけでも52,675 bytes(約50KB)の差ができました。
確か「シェーダは初めて使うときにロードされる(その負荷を防ぐためにShader.WarmupAllShaders()が有る)はずなので、Defferdレンダリングしないなら起動後もメモリに乗ることはなかろう」とは思うのですが、使いもしないDefferdのために容量50KBを残すのもナンなので、NoSupportにしておくべきかと思いました。
http://docs.unity3d.com/ja/current/ScriptReference/Shader.WarmupAllShaders.html
せっかくなので関連として、次はShaderVariantCollectionについても調べてみようと思います