2017-05-21 63 views
0

在我的遊戲中存在一個大的地圖,我想知道如果不是繪製形狀(平均每次250+),當玩家不能看到它們會在遊戲的表現。另外,我正在檢查玩家距離大約500多個其他位置矢量(用於敵人,食物,子彈的相互作用),這需要大量的平方根。如果我使用X和Y組件進行粗略估計,這是否會顯着提升遊戲性能?JavaScript - 繪製物體脫離屏幕和其他遊戲優化

+0

任何其他提高遊戲性能的方法? – Canatron

回答

0

回答這些問題的唯一方法就是嘗試一下,看看會發生什麼。您必須權衡計算屏幕上是否有東西與繪製它的成本的成本。再次,你將不得不測量兩個併爲自己做出決定。

至於測量距離,你可以嘗試使用距離平方來避開平方根。

或者您可以嘗試將對象存儲在數據結構中,如quadtree,它允許您只檢查附近對象的距離。或者更簡單一些:你是否真的需要所有的500個載體始終處於活動狀態?爲什麼不儲存它們,只有在需要時才激活它們?

但是,再次回答你的問題的唯一方法就是嘗試一下。我們無法告訴你這是否會大大提高遊戲的性能。只有通過嘗試才能回答這個問題。祝你好運。

+0

我的男人凱文!我一定會研究距離平方法,並將對象存儲在「四叉樹」中,再次感謝您的幫助。 – Canatron

+0

@Canatron沒問題。距離平方公式就是沒有最終平方根的距離公式。如果你不需要知道實際的數字,這是比較距離的好方法。四叉樹只是一種方式。有一些更簡單的方法,比如將對象存儲在玩家可以輸入的每個「區域」的不同'ArrayList'中。 –

+0

數學並沒有落後於遊戲,它正在繪製所有這些形狀!我給玩家一個「渲染距離」,讓玩家看不到過去的圓圈(圓圈比當然屏幕更大......所以沒有什麼不同),但是性能的差異非常明顯! (直到玩家變得如此之大以至於他們能夠看到整個地圖,在這個地圖上必須繪製所有形狀...... – Canatron