我目前正在开发一个游戏的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