当我的应用程序处于物理模拟中间时,我希望它以恒定的 FPS(例如 30)运行,因为这会在某种程度上影响物理。但是,计算结束当前“帧”所需的时间并调用 Thread.sleep(1000/FPS - time already花费) 是一个坏主意,因为操作系统调度会在 FPS 中产生相当高的错误/不准确性。另一个坏主意是让模拟根本不休眠,而只是运行 while(!time_has_come) time += System.nanotime(),因为它会浪费 CPU 资源和电池。是否有更准确且不占用资源的方法来创建一个计时器,该计时器将以恒定的 FPS 为我的模拟提供脉冲?