OpenGL 用 Swappy 追加ツール
OpenGL で Swappy を使用するための追加のユーティリティ関数。
概要
関数 |
|
---|---|
SwappyGL_enableStats(bool enabled)
|
void
統計情報の収集のオン / オフを切り替えます。
|
SwappyGL_getStats(SwappyStats *swappyStats)
|
void
統計情報の収集がオンになっている場合、収集された統計情報を返します。
|
SwappyGL_injectTracer(const SwappyTracer *t)
|
void
実行をトレースするために各フレームで呼び出されるコールバックを渡します。
|
SwappyGL_onChoreographer(int64_t frameTimeNanos)
|
void
アプリが Android Choreographer を使用して Swappy にティックを提供する場合は、この関数を呼び出すことができます。
|
SwappyGL_recordFrameStart(EGLDisplay display, EGLSurface surface)
|
void
SwappyGL_enableStats で統計情報が有効になっている場合は、この関数を呼び出す必要があります。
|
SwappyGL_setAutoPipelineMode(bool enabled)
|
void
自動パイプライン モードのオン / オフを切り替えます。
|
SwappyGL_setAutoSwapInterval(bool enabled)
|
void
自動スワップ間隔検出のオン / オフを切り替えます。
|
SwappyGL_setMaxAutoSwapIntervalNS(uint64_t max_swap_ns)
|
void
自動スワップ間隔の最大時間をミリ秒単位で設定します。
|
マクロ |
|
---|---|
MAX_FRAME_BUCKETS 6
|
統計情報で示されるリフレッシュ期間中の最長期間。
|
構造体 |
|
---|---|
SwappyStats |
SwappyGL_enableStats でオンに切り替えた場合に収集される Swappy 統計情報。 |
関数
SwappyGL_enableStats
void SwappyGL_enableStats( bool enabled )
統計情報の収集のオン / オフを切り替えます。
デフォルトでは統計情報の収集はオフになっており、統計情報に関連するオーバーヘッドは発生しません。アプリは SwappyGL_enableStats(true)
を呼び出すことにより、統計情報の収集を有効にできます。その場合、アプリは CPU 関連作業を開始する前に、各フレームで SwappyGL_recordFrameStart を呼び出すことを期待されます。統計情報は「FrameStatistics」タグ付きで logcat に記録されます。アプリは SwappyGL_getStats を呼び出すことにより統計情報を取得できます。
SwappyGL_getStats
void SwappyGL_getStats( SwappyStats *swappyStats )
統計情報の収集がオンになっている場合、収集された統計情報を返します。
関連項目: SwappyStats 関連項目: SwappyGL_enableStats
詳細 | |||
---|---|---|---|
パラメータ |
|
SwappyGL_injectTracer
void SwappyGL_injectTracer( const SwappyTracer *t )
実行をトレースするために各フレームで呼び出されるコールバックを渡します。
SwappyGL_onChoreographer
void SwappyGL_onChoreographer( int64_t frameTimeNanos )
アプリが Android Choreographer を使用して Swappy にティックを提供する場合は、この関数を呼び出すことができます。
この関数は、最初の Swappy_swap()
呼び出しの前に呼び出す必要があります。その後、コリオグラファのティックのたびにこの関数を呼び出します。
SwappyGL_recordFrameStart
void SwappyGL_recordFrameStart( EGLDisplay display, EGLSurface surface )
SwappyGL_enableStats で統計情報が有効になっている場合は、この関数を呼び出す必要があります。
SwappyGL_enableStats で統計情報の収集を有効にすると、アプリは CPU 関連作業を開始する前に、各フレームでこの関数を呼び出すことを期待されます。
関連項目: SwappyGL_enableStats
SwappyGL_setAutoPipelineMode
void SwappyGL_setAutoPipelineMode( bool enabled )
自動パイプライン モードのオン / オフを切り替えます。
デフォルトでは、自動スワップ間隔がオンの場合、自動パイプライン処理がオンになり、Swappy は(可能であれば)同じパイプライン ステージで CPU と GPU の作業のスケジュールを設定することにより、レイテンシを短縮しようとします。
SwappyGL_setAutoSwapInterval
void SwappyGL_setAutoSwapInterval( bool enabled )
自動スワップ間隔検出のオン / オフを切り替えます。
デフォルトでは、Swappy は実際のフレーム レンダリング時間に基づいてスワップ間隔を調整します。Swappy によって計算されたスワップ間隔をアプリでオーバーライドしたい場合は、SwappyGL_setSwapIntervalNS
を呼び出します。そうすると、Swappy のフレーム時間が一時的にオーバーライドされますが、SwappyGL_setAutoSwapInterval(false)
が呼び出されない限りフレーム時間は引き続き動的に更新されるため、スワップ間隔が変更される可能性があります。
SwappyGL_setMaxAutoSwapIntervalNS
void SwappyGL_setMaxAutoSwapIntervalNS( uint64_t max_swap_ns )
自動スワップ間隔の最大時間をミリ秒単位で設定します。
Swappy が自動スワップ間隔内で動作する場合にフレーム時間が max_swap_ns
より長いと、Swappy はペーシングを行わず、単にできるだけ早くフレームを送信します。