C#XNA延迟和帧率问题XBOX 360

时间:2011-09-11 22:09:29

标签: c# .net xna-4.0 xbox360

我是一名非常优秀的程序员,我正在开发一款像Xbox这样的块建筑游戏。我的游戏中有大约10千个块,但是当我在我的xbox上运行时,我有一些非常糟糕的滞后问题。我做过的一件事就是在使用它们之后将所有对象设置为null但我仍然遇到问题。大多数游戏开发者如何解决这个问题?我想到的只是绘制靠近玩家的块,但我认为使用循环来循环遍历世界上所有的块会让它慢下来。

1 个答案:

答案 0 :(得分:3)

你走在正确的轨道上,如果可能的话,你绝对只想在附近画画。

Quadtreesoctrees是设计用于分别切割2D / 3D空间以便在给定区域中查找对象非常容易的数据结构。听起来这就是你要找的东西。

您可以使用其中之一,具体取决于您对“附近”的定义。如果你想实现与Minecraft相同的功能,那么Minecraft所做的就是显示整个块的列,这样你就可以摆脱用于管理X / Z坐标上的东西的四叉树,并始终显示Y上的所有内容。如果你想要的话要做一个基于3D的附近定义,那么你需要一个八叉树。

这些工作的方式是使用树结构划分空间。树中的每个分支代表可用空间的象限(或在八叉树的情况下是八分圆),并且每个后续分支是该象限的象限。因此,很容易深入到特定区域。树的叶子保存实际数据,即。构成你世界的街区。