android - 我的游戏需要多线程吗?

标签 android multithreading opengl-es

我正在尝试在 Android 上使用 opengl es 制作一个简单的闯关游戏,但我无法决定是否必须为某些游戏逻辑内容使用单独的线程,例如更新游戏和碰撞检测。我制作了一个简单的原型(prototype):在他们自己的线程中绘制和更新彼此的并行。它带来的问题比我想象的要多,所以我想:

Do I need more than one thread?

例如,一个闯关游戏有 6X5 的方 block 网格,并且需要对每个方 block 进行测试
球碰到这 block 砖了吗?大约每秒 30 次。如果我将这段代码放在我的主绘图循环中:OnDrawFrame(GL10) 恐怕会花费很多渲染时间。
那么我可以回到单线程游戏吗? (因为与 ..pc 相比,Android 设备没有那么强大。

最佳答案

I'm trying to make a simple breakout game

不,你不需要线程任何东西。

线程不适用于“简单”任务。线程适用于您可以合理预期会出现重大性能问题的任务,这样您实际上可以通过多线程获得一些好处。

通过对 Breakout 克隆进行线程化,您将获得令人头疼的编码问题。而已。它根本不够重要,不需要它,如果您不需要线程,您几乎不应该使用它。

关于android - 我的游戏需要多线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7772130/

相关文章:

objective-c - OpenGL ES 混合功能,因此颜色始终显示在背景上

c++ - 具有渲染到纹理 iOS : nothing shown 的 OpenGL ES 2.0 帧缓冲区

android - 存储登录凭据android

java - 无法将 java.lang.String 类型的对象转换为 com.example.acubeitsolution.Client_Review_getter_setter 类型

java - 取消异步调用

java - 为什么外部同步比内部同步快?

c# - QTAgent32.exe,捕获到未处理的异常,通过 Watson 报告 : System. NullReferenceException

opengl-es - 将 WebGL 2 中的像素读取为 Float 值

android - 来自 UsbManager 的 NullPointerException

java - 根据类型创建不同的对象