ダーティ2Dマップレンダリング


10

HTML5のマップレンダリングに関しては、「ダーティレンダリング」について人々が話すのをよく耳にします。私はグーグルで検索し、GameDevで検索しましたが、それほど多くはありません。

  • 正確には何ですか?
  • それを適切に実装する方法は?

回答:


12

これは、背景が描画されるときに、すべてのフレームがすべてのフレームで再描画されるわけではないことを意味します。マップ上の何かが移動すると、それが占めるために使用していた領域がダーティとしてマークされます。次に、描画するときに、背景のその部分のみを再描画する必要があることがわかります。これは、以前に表示されなかった領域のみを再描画する必要があるため、有益です。

したがって、これは本当に移動するものが多くない場合にのみ有益です。それ以外の場合は、背景全体を再描画する場合よりも、描画する新しい領域を特定するためにより多くの時間を費やします。プラットフォームは通常、問題なくすべてを再描画するのに十分高速であるため、これはもはや一般的ではありません。これは実際には単なる最適化機能であるため、今のところ無視し、パフォーマンスが不足している場合は戻ってきます。


6

ほとんどのゲームでのレンダリングはループ(ゲームループ)内で行われ、ゲームループの各反復でバックバッファー全体(この場合はキャンバス)がクリアされ、最初から再描画されます。

用語の汚れたレンダリングは(すなわちのみ代わりにすべてのフレームキャンバス全体をクリアすると、あなただけのオンデマンドでそれをクリアする技術を参照しているときのシーンに変更何か)と、おそらくそれの一部のみ(すなわち一部のみ何かが変わります)。

キャンバスの一部のみを再描画するようにマークするこのプロセスは、ダーティが参照しているものです(つまり、キャンバスのその部分はダーティであり、再描画する必要がありますが、他のすべてはまだクリーンであり、触れるべきではありません)。

これをHTML5に実装するための特別な方法があるかどうかはわかりませんが、いくつかのアイデアが得られる可能性があるこのリソースを見つけました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.