首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xBox360上的游戏抖动

xBox360上的游戏抖动
EN

Stack Overflow用户
提问于 2011-02-21 15:03:35
回答 2查看 307关注 0票数 2

好了,我已经让我的游戏接近完成,一切都在它完美地运行,它在我的电脑上运行得相当好(运行在大约99Mb内存)。但当我在我的xBox上运行它时,我往往会偶尔对主要玩家的角色感到紧张。我在我的游戏中确实有爆炸和广告牌效果,但是我在xBox图形处理器上做了所有的渲染(这最初是在爆炸发生时引起抖动,但现在不是了)。抖动也是随机的,当我产生大量单元或执行大量动作时就不会了。我不知道为什么会发生这样的事情,有什么想法吗?

附注:游戏确实集成了多线程,在一个线程上更新,在另一个线程上渲染。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-21 20:56:22

听起来像是垃圾收集器引起了你的不安。在Xbox上,每当分配1MB的数据时,它就会启动。所需的时间取决于您的程序中使用了多少引用。

使用XNA Framework Remote Performance Monitor for Xbox 360来判断您是否有垃圾收集问题。阅读肖恩·哈格里夫斯的“How to tell if your garbage collection is too slow”。

如果您确实遇到了垃圾收集问题,那么您将需要一个能够确定哪些对象正在生成垃圾的分析器。CLR Profiler for the .NET Framework 2.0是一种选择。默认情况下,XNA4.0不支持它,但是Dave on Crappy Coding有一个workaround。有关解决垃圾收集问题的策略,请阅读Shawn Hargreaves的Twin paths to garbage collection Nirvana

更新: CLR Profiler for the .NET Framework 4.0现已推出。

票数 6
EN

Stack Overflow用户

发布于 2011-02-21 15:14:34

听起来你的渲染线程只是坐在那里等待更新线程完成它所做的事情,这会导致“抖动”。也许可以放入一些代码,记录一个线程在被允许访问另一个线程之前必须等待多长时间,以确定这是否真的是问题所在。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5063190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档