ページめくりとはどういう意味ですか?
グラフィックプログラミングでなぜそれが必要なのですか?
ページ フリッピングは、何十年も使用されてきたちらつきのないグラフィックのためのハードウェア支援のシンプルな手法です。
ハードウェアからのサポートが必要です。
ビデオ サブシステムには、少なくとも 2 つのメモリ領域 (ページ) が表示される可能性があり、そのうちの 1 つだけが常に表示される必要があります。
ビデオ サブシステムは、ソフトウェアが 2 つのページのどちらを表示するかを選択できる手段をサポートしています。これは通常、ハードウェアへの 1 つの命令であり、切り替えは瞬時に行われます。これは、ハードウェアが 1 つのページのスキャンを停止し、別のページのスキャンを開始するだけだからです。
そのため、ある時点で 1 つのページを表示したままにし、別のページで次のフレームのレンダリングを行っているという考え方です。フレームのレンダリングが完了すると、表示されているページを即座に「フリップ」するハードウェア命令を送信します。これは、レンダリングを行ったページが表示されるようになり、以前は表示されていたページが非表示になり、使用できるようになることを意味します。次のフレームをレンダリングします。フレームごとにプロセスを繰り返し、ユーザーが可視ページを見ている間は常に不可視ページにレンダリングします。
より精巧に、次のように動作します。
A と B の 2 つのページがあります。最初は両方のページが空白で、ページ A が表示され、ページ B は表示されません。
非表示のページ B にグラフィック フレームをレンダリングするため、最初はユーザーには表示されません。
ページ B でフレームのレンダリングが完了したら、ハードウェア命令を送信してページをめくるので、ユーザーはページ B でレンダリングを開始します。
非表示のページ A に次のフレームをレンダリングするため、ユーザーにはレンダリングが行われていることがわかりません。(ちらつきとして認識されます。)
ページ A のレンダリングが完了したら、ページを再びめくると、ユーザーは新しくレンダリングされたページを見ることができますが、以前に表示されていたページは非表示になり、次のフレームをレンダリングできるようになります。
フレームごとにこの手順を繰り返します。
多くの場合、画面に直接描画するには遅すぎるため、視覚的に描画を確認できます。つまり、別のページを表示しながら、あるページに描画します。次に、完全に描画されたページへの「ページめくり」を表示する準備ができたら、別のページで描画を開始できます。
滑らかなアニメーションを実現します。