Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XBOX 360的C#XNA延迟和帧速率问题_C#_.net_Xna 4.0_Xbox360 - Fatal编程技术网

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

XBOX 360的C#XNA延迟和帧速率问题,c#,.net,xna-4.0,xbox360,C#,.net,Xna 4.0,Xbox360,我是一个相当好的程序员,我正在为Xbox开发一款类似于雷霆战舰的积木游戏。我的游戏中有大约10000个区块,但当我在xbox上运行时,我遇到了一些非常严重的滞后问题。我做了一件有帮助的事情,就是在使用对象之后将所有对象设置为null,但我仍然有问题。大多数游戏开发者如何解决这个问题???我想只画离玩家近的方块,但我认为使用一个循环来循环世界上所有的方块会让速度更慢。你走对了,如果可能的话,你肯定只想在附近画东西 和是分别用于分割2D/3D空间的数据结构,使查找给定区域中的对象非常容易。听起来这就

我是一个相当好的程序员,我正在为Xbox开发一款类似于雷霆战舰的积木游戏。我的游戏中有大约10000个区块,但当我在xbox上运行时,我遇到了一些非常严重的滞后问题。我做了一件有帮助的事情,就是在使用对象之后将所有对象设置为null,但我仍然有问题。大多数游戏开发者如何解决这个问题???我想只画离玩家近的方块,但我认为使用一个循环来循环世界上所有的方块会让速度更慢。

你走对了,如果可能的话,你肯定只想在附近画东西

和是分别用于分割2D/3D空间的数据结构,使查找给定区域中的对象非常容易。听起来这就是你要找的

根据您对“附近”的定义,您可以使用任何一种。如果你想达到与Minecraft相同的效果,那么Minecraft所做的就是显示整列块,这样你就可以不用使用四叉树来管理X/Z坐标上的东西,并且总是在Y坐标上显示所有东西。如果你想对附近区域进行基于3D的定义,那么你需要一个八叉树


它们的工作方式是使用树结构对空间进行分区。树中的每个分支表示可用空间的一个象限(或八叉树中的八分之一),后续的每个分支都是该象限的一个象限。因此,深入到特定区域非常容易。树的叶子保存了实际数据,即组成您的世界的块。

不想投票关闭,但这可能会在gamedev.stackexchange上得到更好的答案。