stat CRIWARE

stat CRIWAREについて

コンソールコマンド「stat CRIWARE」を実行することで、CRIWARE Unreal Engineプラグインの内部情報を画面に表示することが可能です。
criware_ue4_039_debug_stat_criware_j.jpg
具体的な表示項目の意味は、以下のとおりです。

Memory Counters

メモリ使用量を"UsedMax"欄に表示します。
その他の欄("Mem%", "MemPool", "Pool Capacity")は現在使用されていません。
CriWare Work Size
本プラグインのシステム内部で動的に確保したメモリのサイズです。
Atom Cue Sheet Bytes
キューシートに関する消費メモリのサイズです。
ただしパッケージ化したゲームでの計測のみ対応しており、PIEでの計測には対応しておりません。
キューシートをロードするとその分増加し、アンロードするとその分減少します。
ただしGCのタイミングによっては"Atom Cue Sheet Bytes"がすぐに変動するケースもあれば、かなり遅れて変動するケースもあります。

Counters

Atom Process Count
Atomライブラリのサーバ処理の動作回数です。
この値がインクリメントされない場合、何らかの処理(アプリケーションが独自に作成したスレッド等)によりAtomライブラリの動作が阻害されている可能性があります。
Atom CPU Load [%]
Atomライブラリの処理負荷です。
この値が100を超えた場合、音途切れ等の問題が発生する可能性があります。
100を超える場合には、発音数を減らすなど、処理負荷を下げる対策を行う必要があります。
1つのコアをフルに使う状態を100とみなして値を計算しています。
また、同時に複数のコアが使用されることはありません。
例えばコアが4つのハードウェアにおいて「全体の10の負荷」を目標にしたい場合は"Atom CPU Load"が40以下であれば良いことになります。
Atom Server Interval [ms]
Atomライブラリのサーバ処理間隔です。
CRIWARE Unreal Engineプラグインでは、Atomライブラリのサーバ処理は1/60秒間隔で動作するため、通常この値が16.6ms近辺の値になります。
値が16.6msを大幅に超えるケースがある場合、何らかの処理(アプリケーションが独自に作成したスレッド等)によりAtomライブラリの動作が阻害されている可能性があります。
Mana ReferFrame Interval
criManaPlayer_ReferFrameの呼び出し間隔です。
動画フレームレートより間隔が長い場合はカクツキなど発生する可能性があります。
Mana GetTime Delta
criManaPlayer_GetTimeを定期的に呼び出してMana再生時刻の時刻差分です。
Mana再生時刻がフレームレート毎に単調増加しているかの目安となります。
Mana Dropped Frames
前回取得したフレーム番号から最後に取得したフレーム番号までの差分(ドロップした枚数)です。
Mana Discontinuous Frames
フレームがデコードスキップされ、フレーム番号が1ずつ増加しなかった回数です。
Mana ReferFrame Count until FrameOnTime
criManaPlayer_IsFrameOnTimeの返り値がTRUEになるまでにcriManaPlayer_ReferFrameを呼び出した回数です。
例えばアプリのフレームレートが60fpsで安定している場合、60fps動画であれば1(1V毎にフレームを取得し表示)、30fps動画であれば2(2V毎にフレームを取得し表示)となります。
Mana ReferFrame failed
デコードが間に合わなかった回数です。
(デコード済みのフレームが無く、criManaPlayer_ReferFrameが失敗した合計数。)
Mana UpdateFrame Process
UManaComponent::UpdateFrameの呼び出し間隔です。
動画フレームレートより間隔が長い場合はカクツキなど発生する可能性があります。