次の方法で共有


1x1 ビューポイント サイズ バリアント

すべてのレンダー ターゲットでビューポートのディメンションを 1x1 ピクセルに減らします。

解釈

ビューポートを小さくすると、シェードが必要なピクセル数は減りますが、処理が必要な頂点の数は減りません。 ビューポートのディメンションを 1x1 ピクセルに設定すると、アプリケーションでピクセルのシェーディングを効果的に除去することができます。

このバリアントによりパフォーマンスが大幅に向上する場合は、アプリケーションで使用しているフィルレートが多すぎることを示しています。 これは、選択した解像度がターゲット プラットフォームに対して高すぎる、またはアプリケーションで、後に上書き (範囲を超えて描画) されるピクセルのシェーディングに多くの時間を消費していることを示している場合もあります。 この結果は、フレームバッファーのサイズを小さくすること、または範囲を超えて描画する領域を小さくすることによってアプリケーションのパフォーマンスが改善されることを意味しています。

解説

ID3D11DeviceContext::OMSetRenderTargets または ID3D11DeviceContext::RSSetViewports への呼び出しが行われるたびに、ビューポートのディメンションは 1x1 ピクセルにリセットされます。

使用例

このバリアントは次のようなコードを使用して再現することができます。

D3D11_VIEWPORT viewport;
viewport.TopLeftX = 0;
viewport.TopLeftY = 0;
viewport.Width = 1;
viewport.Height = 1;
d3d_context->RSSetViewports(1, &viewport);