「スワップチェーン」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の3版が非表示) | |||
| 1行目: | 1行目: | ||
'''スワップチェーン'''([[英語]]:Swap Chain)とは、主に[[コンピューターグラフィックス]] | '''スワップチェーン'''([[英語]]:Swap Chain)とは、主に[[コンピューターグラフィックス]]で用いられる「1つのフロントバッファ」と「1つ以上のバックバッファ」で構成される[[フレームバッファ]]を管理するための機構(コレクション)である。 | ||
== 概要 == | |||
フロントバッファとバックバッファがそれぞれ1つ(計2つ)という最小構成のスワップチェーンは「[[ダブルバッファ]]」と呼ばれる。 | |||
== | [[ダブルバッファ]]の場合は単純なスワップ操作であるが、トリプルバッファ以上になるとバッファの遷移が複雑なリング状になる。それをダブルバッファ同様にスワップ操作っぽい[[API]]を叩くだけでグルグル回るようにしたものを「スワップチェーン」と呼ぶことが多い。 | ||
[[ | |||
== 垂直同期 == | |||
ディスプレイが描画処理している最中にスワップチェーンの切り替えを行うと描画内容が狂う。 | |||
このような現象を抑制するため「[[垂直同期]]」を利用することが多い。 | |||
== 実装 == | |||
[[github]]に転がっている[[オープンソース]]の各種[[フレームワーク]]ではどのようにスワップチェーンを実装しているのか眺めてみた。 | |||
== | === リングバッファ === | ||
ほとんどスワップチェーンは「[[リングバッファ]]」で実装されているようだ。 | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| 31行目: | 35行目: | ||
|} | |} | ||
=== キュー === | |||
一部の実装では「[[キュー]]」を用いてものもあった。 | |||
== 動画の切り出し == | == 動画の切り出し == | ||
| 40行目: | 45行目: | ||
== 関連項目 == | == 関連項目 == | ||
* [[ダブルバッファ]] | * [[ダブルバッファ]] | ||
* [[垂直同期]] | |||
[[category: 3DCG]] | [[category: 3DCG]] | ||