私は簡単なミニゲームの開発の途中です。私はいくつかのパフォーマンス低下に気付き始めました。ゲームは、5000 x 5000
サイズの大きい部屋(キャンバス)を持つように作られており、プレーヤーはマウスドラッグで移動できるビューポートカメラを装備しています。今、問題は、部屋全体のために2000オブジェクトを描画している場合、パフォーマンスが大幅に低下することです。現在のカメラエリアに表示されているオブジェクトを描画する方法があるのではなく、プレーヤが表示していない部屋全体で描画する方法はないと私は考えていました。は、可視領域にのみキャンバスを描いています
セクター(地域)で部屋を分割しようとしましたが、それはうまく動作しませんでした。多分、誰かがその問題について考えているかもしれません。
オブジェクトの最大の量のためにこのレンダリングされたコード:
for(var i = 0; i < game.objects.stars.pool.length; i++) {
var current = game.objects.stars.pool[i];
game.components.star.apply(i);
game.mechanics.draw.circle(current.x, current.y, current.r);
}
私が説明した方法で、パフォーマンスを向上させるために、これに何ができるか
?
この1つは私のために働く、ありがとう! –