我目前正在開發一個遊戲的Windows Phone 7的地圖爲我的遊戲由一個保存在每個單元體素2維數組。渲染地圖的代碼如下。C#(XNA遊戲工作室)獲取屏幕外的物體不能渲染
//Draw Map
for (int i = 0; i < 499; i++)
{
for (int j = 0; j < 499; j++)
{
spriteBatch.Draw(groundVoxelTexture, voxels[i, j].Position, Color.White);
}
}
我還應該提到,玩家在屏幕上居中並且地圖在玩家周圍移動。
的問題是,這創造紋理爲手機渲染了很多,最終導致了手機,我就鎖定運行了這麼多滯後。那麼有沒有辦法讓屏幕外的對象不能渲染?
我對XNA並不熟悉,但在性能方面,通常是將打算繪製到一個調用中的所有精靈批處理。在這裏,您將每個繪圖循環單獨繪製。這是很多電話。 – eriknelson 2013-05-03 14:50:19
我假設這些職位是按某種順序排列的?你應該能夠調整你的循環開始和結束位置 – Sayse 2013-05-03 14:50:19
@ErikN spriteBatch有一個你必須調用的'Begin'和'End'。我不是100%確定的,但我敢打賭,當調用「End」時,它會將它們一起分配到一個調用中。 – Cemafor 2013-05-03 14:58:45