gpt4 book ai didi

java - 为什么不使用预定的执行器进行游戏循环

转载 作者:太空宇宙 更新时间:2023-11-04 14:31:44 25 4
gpt4 key购买 nike

我目前正在阅读有关游戏开发的内容,每次我看到游戏循环的实现方式总是相同的。

一个 while(true) block ,内部有一个用于 FPS 的 sleep 。

我问自己,为什么我不应该使用 ScheduledExcecutor,这似乎是显而易见的选择?我的意思是,我确信我错了,我不太可能是第一个想到这一点的人,但为什么不呢?

最佳答案

首先看一下传统游戏循环的一些演变。您的 while(true) + sleep 示例是最简单的示例。

然后人们注意到游戏会受到运行计算机速度的影响。在 Google 上查找“可变时间步游戏循环”,了解如何处理此问题的示例。

现在阅读有关 ScheduledExecutorService 的文档。 ScheduleAtFixedRate 和 ScheduleWithFixedDelay 都不是您想要的游戏。

此外,在文档中向下滚动,您会注意到 "If any execution of the task encounters an exception, subsequent executions are suppressed."如果您不处理所有可能的异常,这可能会导致您的游戏循环突然终止。

没有什么可以阻止您扩展 ScheduledExecutorService 并修改它以满足您的需求,但我不会建议按原样使用它。

关于java - 为什么不使用预定的执行器进行游戏循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26067229/

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