SpriteStudio / SS5PlayerForUnity

OPTPiX SpriteStudio 5 Player for Unity
http://www.webtech.co.jp/spritestudio/
MIT License
39 stars 15 forks source link

v1.3.4 パフォーマンス改善点について #169

Open omachi opened 8 years ago

omachi commented 8 years ago

 いつもお世話になっております。

https://github.com/SpriteStudio/SS5PlayerForUnity/blob/25efceb8645f42ef019ec34cd8fd1a071d74e8f4/Assets/SpriteStudio/ScriptLibrary/Library_SpriteStudio.cs#L5513  上記リンク先においてMesh.vertices.Lengthとなっている箇所ですが、このような場合はMesh.vertexCountを使うのがGC的にパフォーマンスが上がるようです。  こちらでUnity5.3.4f1のプロファイラにて確認したところ、36フレームごとに起こっていたGC処理が47フレームごとに改善いたしました。  ご検討よろしくお願いいたします。

MasamiYitsuse commented 8 years ago

omachi様

お世話になっております。

レポート、有難う御座います。 当方で検証の後、バージョンアップをさせていただこうと思います。

重ねて、心から御礼申し上げます。

MasamiYitsuse commented 8 years ago

omachi様

お世話になっております。

ご助言頂いた内容を反映させて頂いた他、当該処理(描画マネージャ内MeshCreate関数の処理)で、 ・無駄な配列をヒープしていた ・Mesh.trianglesへのアクセスも抑制した ……の改変を行ったことで、ヒープの使用量が1/5程度に軽減されております。

ただ、まだ当該処理でのヒープ使用は完全に0にはできておりませんが、グローバルヒープ量が1/5~1/8程度に低減したため・GCの頻度はかなり下がったと思われます(ただ、当該処理の中で、もう一箇所Mesh.trianglesへのアクセスが存在しており・頂点インデックスを置き換える処理のため一旦今回の改変から除外しております)。

お忙しい中、改善点の的確なアドバイス、心から御礼申し上げます。 今後とも宜しくお願い致します。