gpt4 book ai didi

java - 多线程 Android 游戏上的图像不稳定

转载 作者:行者123 更新时间:2023-12-01 15:52:43 25 4
gpt4 key购买 nike

我决定将基于 Sprite 的 2D 游戏转换为 Android 版,以使用 opengl-es 来帮助解决一些与渲染相关的帧速率问题。目前设置如下:

渲染可以放在自己的线程中,渲染模式设置为连续。游戏逻辑更新发生在单独的线程中。两个线程都与同步的绘图锁类交互,以确保它们永远不会同时接触游戏信息。

所以基本上,渲染线程在绘制之前等待任何当前更新完成,而更新线程在开始更新之前等待当前渲染结束。一切看起来都很棒,除了我在屏幕上移动时在图片中注意到的一些不稳定性。

我认为这可能是由于每次渲染之间发生的更新数量缺乏一致性,平均发生的更新数量是两倍,因为截至目前更新中还没有发生太多事情。但这缺乏一致性,因此有时 1 通过,有时 2、3 等,因此绘制的项目位置的增量也不一致,从而造成不稳定。

有人知道我该如何纠正这个问题吗?更新线程被调节为每秒 60 次并带有 sleep ...也许渲染下需要发生类似的事情?我现在还不确定。

最佳答案

根据您的游戏数据量,您可以尝试复制它。当游戏引擎更新一个副本时,渲染引擎正在处理另一个副本。更新完成后,渲染引擎切换到读取更新的副本,而游戏引擎则等待更新传输到较旧的副本(引擎将在下一个周期更新旧副本)。这是一种双缓冲方法,但应用于游戏数据而不是显示缓冲区。

关于java - 多线程 Android 游戏上的图像不稳定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5690719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com