2016-04-11 41 views
0

ゲームのフレームバッファオブジェクトに関する質問があります。ユーザーがゲームの画面解像度を何度も変更すると、後処理などのFBOサイズはどうなりますか?作成したすべてのFBOを削除して新しいFBOを作成する必要がありますか?サイズを変更する方が良いですか?または、既存のものが存在しない場合は新しいものを作成し、古いものを保存するハンドラを作成する方がよいでしょうか? (最新の提案は、ユーザーが画面の解像度を絶えず変更している場合、膨大な量のグラフィックスメモリを消費する可能性があります)。ゲームのOpenGL FBOテクスチャ幅の高さ

ありがとうございます。

+0

重要な意思決定に十分な頻度でウィンドウのサイズを変更する人はどんな人ですか? :)彼らはゲームをするのに必要な注意スパンを持っていないようです。 –

+0

リサイズ後に最初に完全に形成されたフレームが表示されるまでに、1〜2フレームの間の欠落した後処理エフェクトや異常な遅延をユーザーが受け入れることは稀です。今では、一時的な再投影が一般的になっています。 –

+0

Andon M. Coleman:Pユーザーが最高のFPS /品質の画面解像度を見つけようとしている最悪の場合のシナリオを考えてみましょう。 – karl88

答えて

1

私によれば、あなたのウィンドウを「サイズ変更する」ときに、いくつかの潜伏期を持つことは実際問題ではありません。ウィンドウのサイズを変更すると、パフォーマンスについては気にしないと思います。私によれば、ウィンドウのサイズを変更すると、実際には再生されていないし、再生しているときには、通常、フルスクリーンモードを使用します。 2つの可能性があります:最初のものは、すべてのフレームバッファのサイズを修正します。単純なゲームでは大丈夫ですが、複雑なゲームには適していません。

2番目はおおよそあなたの言ったことです。 FBOは何かをレンダリングするために存在し、現在は動的である可能性があります。したがって、サイズを変更したときの待ち時間を避けることが、fboのいくつかのサイズを維持する唯一の目的です。 IMHO、あなたはこれらの種類の待ち時間に気にせず、FBOをもう一度削除して作成することができます。

+0

お返事ありがとうございます。 V-RAMのメモリ断片化はどうですか?削除や再作成時に考慮すべき点は何ですか? – karl88

+0

私には、V-RAMのメモリ断片化が本当に気になるなら、Vulkan xに切り替える必要があります。 もっと深刻なことに、ドライバーには自信がないとは思いません。たとえば、100MのビデオRAMを割り当てて、50Mを取り外して再割り当てした直後に、同じ領域を使用する可能性は非常に高いです。 –

+0

しかし、ユーザーが4kの画面を持っていればさらに悪化します。ユーザーが1920 * 1080の画面解像度で2,3分後に2560 * 1440に、そして再び3840 * 2160にゲームをプレイしたとします。後処理のために大きなGバッファと他のバッファがある場合、これは重要です。大企業がFbosのメモリをどのように処理しているかを知ることは素晴らしいことです。 – karl88

関連する問題