Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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
Android 游戏对象线程?_Android - Fatal编程技术网

Android 游戏对象线程?

Android 游戏对象线程?,android,Android,我正在尝试开发一个游戏。这是一个简单的“打鼹鼠”游戏,屏幕上会弹出一些东西,你点击它就可以杀死它。我想让“鼹鼠”有自己的线索,这样他们就可以在自己的生命周期中制作自己的动画、事件处理等,直到最终自杀 这种“每个对象都有自己的线程”的实现对Android游戏有好处吗 如果没有太多的对象,每个对象都没有太多的活动,这可能会起作用 我建议。从线程中拉出非活动对象并放入活动线程。绝对不是。不要给每个鼹鼠自己的线。这将是太多的线程使用,而不用说,在这种类型的游戏中,你不需要这么多的线程。把所有的事情都放在

我正在尝试开发一个游戏。这是一个简单的“打鼹鼠”游戏,屏幕上会弹出一些东西,你点击它就可以杀死它。我想让“鼹鼠”有自己的线索,这样他们就可以在自己的生命周期中制作自己的动画、事件处理等,直到最终自杀


这种“每个对象都有自己的线程”的实现对Android游戏有好处吗

如果没有太多的对象,每个对象都没有太多的活动,这可能会起作用


我建议。从线程中拉出非活动对象并放入活动线程。

绝对不是。不要给每个鼹鼠自己的线。这将是太多的线程使用,而不用说,在这种类型的游戏中,你不需要这么多的线程。把所有的事情都放在主线上,用一些听众来消灭鼹鼠。(=使不可见)

是的,这是一个性能问题,由开发人员决定。为什么要为每个摩尔创建一条线?这是一个正确的问题,因为这样做是一个更加不切实际的决定。每个鼹鼠会访问一个数据库吗?与服务器通信?我不这么认为


无论如何,由于它在屏幕上是一个鼹鼠,您只需要一个实例,就可以在主线程中渲染/移动/禁用/等等。

在实际需要更改之前保持单线程状态-特别是对于一个简单的游戏,您不会遇到需要线程的性能问题

无论如何,一般的方法不是线程化单个实体,而是在100秒或1000秒,甚至整个系统(如音频、物理等)上执行的整个算法步骤-也许最极端但最常见的情况是将渲染提交拆分为自己的线程,用于所有渲染,包括动画、物理、,另一个线程上的游戏逻辑等,以交换所有线程上的单帧延迟


更不用说拥有很多线程的开销往往会受到限制-如果你有2或3摩尔,这可能没问题,但如果你有更多线程,你将很快达到收益递减的程度-更不用说保持许多线程同步和避免死锁的固有困难,比赛条件等。

我可以问一下,为什么你不认为每摩尔一根线就好?现在我假设这是性能原因,但正如Dhaivat Pandya在另一个答案中指出的,线程池将是消除大部分开销的好方法。。听着,每次我编辑一个答案我都会这样评论。。。你知道有人编辑了他的答案吗?屏幕上有一个摩尔-屏幕上会有很多摩尔-这是我考虑给他们自己的线程的原因之一,所以不是所有的处理都在主循环上。但是,再一次,我还没有测试哪一个真的更快。不过我会记住你的反馈