4

JavaのCanvasクラスでは、1から2および2から3に変更すると、バッファ戦略が大きいほど効率的であると誰かが説明しているのを聞いたことがありますが、3を超えると違いはありません。バッファ戦略のサイズが3を超えると、速度が大幅に向上しないのはなぜですか。また、createBufferStrategy(2)からcreateBufferStrategy(3)への増加はどのように機能しますか?

4

1 に答える 1

3

アニメーションを引き裂いたくない場合にのみ、パフォーマンスの問題が発生します。この場合、システムがバッファの表示を完了するまで待機してから、このバッファを再度変更する必要があります。

したがって、バッファが1つある場合は、何もせずに待機する必要があります。2つのバッファを使用すると、最初のバッファが表示されている間に他のバッファに書き込むことができますが、十分に高速な場合は、次のフレームを開始する前に待機してしまう可能性があります。3つのバッファを使用すると、待つ代わりに何かを行うことができます。

最初のバッファが完全に表示される前に3番目のバッファで描画が完了する可能性は低いため、3バッファを超えるとゲインは非常に低くなります。

使用するバッファが多いほど、これらのバッファをホストするために必要なメモリが増えることに注意してください。これは通常のコンピューターでは問題になりませんが、電話アプリでは問題になる可能性があります。

于 2013-01-08T14:47:29.993 に答える