XNAでこれを行うための賢明なオプションは実際にはありません。ほとんどのゲームは、フレームごとに画面全体を再描画したいので、XNAはこのように構成されています。(そして、本当に説得力のある理由なしに、これはあなたがあなたのゲームを構築する方法でもあります。)
XNAはダブルバッファリングされています(これをオフにする方法はないと思います)。バックバッファで描画を行い、それをフロントバッファと交換します。画面に直接描画することはありません。
したがって、画面をクリアして各フレームで再描画する必要はありませんが、そうでない場合は、これら2つのバッファの内容を手動で同期しておく必要があります。そうしないと、ひどいちらつきが発生します。これは努力する価値がありません。
あなたが探しているのはメソッドです(代わりに-または-Game.SupressDraw
から呼び出してください:override and return )。これにより、その特定のフレームに対して呼び出されるのを防ぎ、バックバッファーがフロントにスワップされるのを防ぎます。したがって、前のフレームは単に画面に表示されたままになります。Update
BeginDraw
false
Draw
ただし、一般的には、すべてのフレームを単純に描画する方が簡単です。