目次 - API(機能別) - 2Dレンダリング - SDL_RenderFlush

SDL_RenderFlush

レンダラの未実行のコマンドを下位レンダリングAPIに強制的に掃き出す

構文

int SDL_RenderFlush(SDL_Renderer* renderer)

引数

rendererレンダラ

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

SDL_Rendererの後に追加でOpenGL/Direct3D/Metal/その他を直接呼び出そうとしない限り, この関数は必要ない. (そして, 本来は使うべきではない.)

この関数は極めて特殊な場合のためにある: SDLのレンダーAPIを使い, 使用する下位レンダラ(OpenGL, Direct3Dなど)を指定して, SDL_HINT_RENDER_BATCHINGを"1"に設定し, SDLレンダーAPIの呼び出しに追加してOpenGL/D3D/その他を呼び出す場合である. この場合, SDLレンダーAPIと, 連携して使用する下位レベルAPIの間で, SDL_RenderFlush()を呼ぶ必要がある.

これ以外の場合, この関数は無視してよい. この関数は特殊な状況で最大限のパフォーマンスを引き出すためだけに存在する. それ以外のときは, SDLは適切に処理するが, パフォーマンスが低下する可能性がある.

この関数はSDL2.0.10で初めて使えるようになった. そして2.0.9以前では必要ない. 古いバージョンでは, レンダリングコマンドをキューにまったく入れず, 即座にOSに掃き出している.

バージョン

SDL 2.0.10以降

SDL Wikiへのリンク

SDL_RenderFlush - SDL Wiki