謝罪する必要はありません、追加のフィードバックとテストをありがとう。
残念ながら、これらの値はすべて、DoiSpinegirlプロジェクトの値よりも優れている場合でも見栄えがよくありません。変換される頂点の数は、結果として費やされるミリ秒に直接相関しているように見えます。なぜこれがPCよりも約5〜10倍遅いのか疑問に思います。ただし、これでも、Spinegirlで最初にプロファイラーを実行するときにアニメーション(「更新」)にも非常に時間がかかる理由は説明されていません。 PS4用に構築した場合、数学的なC#操作が十分に最適化されていないかのように動作します。
PS4用にビルドするときに利用できるUnityPlayer設定のスクリーンショットを共有できますか?コンパイルバックエンドを使用するために利用できるオプションはありますか?たとえば、Andoidは IL2CPP
を提供していますが、同様のオプションを利用できますか?
並列化のロードマップにこの問題チケットがあります。これにより、CPUスレッド間で計算を分散することにより、前述の Update
およびLateUpdate
メソッド呼び出しのパフォーマンスが向上するはずです。
https://github.com/EsotericSoftware/spine-runtimes/issues/1348
PS4で数学演算が遅い理由が見つからない場合、この並列化によってパフォーマンスが大幅に向上するはずです。残念ながら、4.0ではいくつかの緊急の変更を完了する必要があるため、このチケットを実装するまでには時間がかかります。私たちが提供できるのは、優先キューでそれを上に移動し、当初の計画よりも早く実装することだけです。それでも、このチケットの実装にはある程度の努力が必要です。
PS4での数学演算のパフォーマンスやスピードアップに関する情報を見つけた場合は、お知らせください。
この問題が改善されるまで、費やされる時間をできるだけ短くするために、可能な場合は頂点の数を最小限に抑えることをお勧めします(メッシュアタッチメントの代わりに通常の領域アタッチメントを使用)。
No need to apologize, thank you for the additional feedback and testing.
Unfortunately, these values all do not look good, even when they are better than the ones at the Doi Spinegirl project. It seems as if the number of vertices to be transformed directly correlates to the resulting milliseconds spent. I still wonder, why this is about 5-10x slower than on PC. This however still does not really explain why the animation (Update
) also takes very long at your first profiler run at Spinegirl. It behaves as if any mathematical C# operations are not well optimized when built for PS4.
Could you perhaps share a screenshot of the Unity Player settings available when building for PS4? Do you have any options available on which compilation backend shall be used, Andoid for example offers IL2CPP
, do you have similar options available?
We have this issue ticket on the roadmap for parallelization, which should improve performance of the mentioned Update
and LateUpdate
method calls by distributing the computation across CPU threads:
https://github.com/EsotericSoftware/spine-runtimes/issues/1348
If we fail to find the reason why math operations are slow on PS4, this parallelization should improve performance by a significant amount. Unfortunately it will take some time until we get to implement this ticket, as some urgent changes have to be finished for 4.0. All we can offer is to move it up in the priority queue and implement it sooner than originally planned. Still this ticket will be take some effort to implement.
If you should find any information in regards to performance of math operations on PS4 and on any speedups, please let us know.
Until this issue is improved, we can only suggest to keep the number of vertices to a minimum (using normal region attachments instead of mesh attachments) where possible, in order to keep the time spent as low as possible.