当渲染方法是called.Is时,我每次都在更改x坐标,它在4核上的工作速度比在1核心上的快?我已经在Alcatel (4核心1.2Ghz)和XperiaX10 (1核心) .And上测试过它,这是否意味着在1核上fps比4核小?
发布于 2014-06-01 14:39:30
如果不生成自己的线程,则Libgdx逻辑和呈现在单个线程中运行。这意味着至少您的逻辑和呈现在一个线程中运行,该线程在单个核上工作。(线程在一个核心上运行是不正确的,但是它不是并行的,所以如果你有更多的内核,它就没有效果)因此,如果您的逻辑位于一个线程中,那么如果您有4、8或1核,那就无关紧要了。当然,这并不是因为libgdx确实会为其他事情增加一些线程,但在原则上,您的逻辑和呈现应该是这样的。
因此,如果你改变你的x位置,每帧,核心号码没有任何影响,但,如果你的设备是缓慢地保持60 has的效果。此外,有些设备在vsync状态下有不到60 less,所以有些设备会比其他设备更慢地玩游戏。
总是建议您根据增量时间而不是帧来更改位置!
例如,如下所示:
this.setPosition(getX() + direction.x * delta * this.velocity, getY() + direction.y * delta * this.velocity);这确实改变了位置值,这取决于三角洲速度和方向。因此,如果δ值较高,因为设备的帧率较低,则移动保持不变。
https://stackoverflow.com/questions/23979257
复制相似问题