当前位置: 首页 > 知识库问答 >
问题:

停止窗口的渲染而不停止其更新[关闭]

秦景同
2023-03-14

< b >想改进这个问题?通过编辑此帖子添加详细信息并澄清问题。

我用lwjgl框架做了一个游戏——它使用opengl窗口来渲染。我想每5秒钟渲染一次,而不停止游戏的更新。有什么方法可以做到这一点,直接用lwjgl还是用opengl?我猜这应该不是非常复杂,但我似乎找不到任何东西。

共有1个答案

宋瀚海
2023-03-14

您可以对当前时间进行采样,并计算上次 draw() 调用和当前时间之间经过的时间。每当持续时间超过5秒时,您再次调用draw()并记住您调用draw()的新时间,然后重复:

long lastDrawTime = 0L;
long currentTime;
while (shouldRun) {
  // call update() every iteration:
  update();
  
  // call draw() only every 5 seconds:
  currentTime = System.currentTimeMillis();
  if (currentTime - lastDrawTime >= 5000L) {
    draw();
    lastDrawTime = currentTime;
  }
}
 类似资料:
  • 我使用Pygame和Pydub用Python编写了一个音乐播放器(我使用Pygame实际播放音乐,而Pydub可能与这个问题无关)。 除非我切换到另一个Pygame窗口,否则即使切换了窗口,音乐也能正常工作。我认为如果我编译它(cx_freeze),这种效果会消失,但那不起作用。 所以我想知道是否有什么方法可以让音乐在窗口切换到另一个Pyplay窗口时继续播放。 我使用而不是声音对象,如果可能有某

  • 我正在制作一个基于体素的游戏,为了它的需要,我正在创建一个块渲染引擎。 重点是,我需要生成很多立方体。每次我渲染超过16x16x16块的theese块时,我的FPS几乎都会下降,因为它渲染了所有theese立方体的所有6个面。那是24576个四边形,我不想要。 所以,我的问题是,如何停止渲染不可见的顶点(或四边形),从而提高我的游戏性能? 以下是用于渲染块的类: 下面是呈现它们的代码:

  • 我已经将带有html小程序标记的小程序启动迁移到带有小程序描述符的jnlp部署。 对于小程序解决方案,当浏览器窗口关闭时,java应用程序结束。 使用JNLP解决方案,当窗口关闭时,java应用程序不会停止。并引发异常: 非常感谢。

  • 问题内容: 我想停止redis服务器,并且它一直在运行。我正在使用redis-2.6.7 检查它是否正在运行: 它显示“ … bind:地址已在使用中”,因此它已在运行。 我努力了 它只是挂起,没有任何反应。我中断检查,是的,它仍在运行。 我努力了 我得到“无法打开配置文件’停止’” 我试过了: 仍在运行。 我想要停止它的原因是,当我尝试通过Python设置或获取值时,它只是挂起了。所以我认为我会

  • 它还在继续被渲染。我想阻止它。 由于这个问题,从Api接收到的照片和文本一直在随机变化。 我认为使用效果是问题所在。请让我知道,因为我是初学者。 这是useFetch.jsx 这是Main.jsx

  • 我有一个使用Twitter4j启动的Android应用程序,如果我不再需要该流,我正在寻求有关如何停止/关闭它的帮助。我在偏好更改时启动流,但需要根据用户操作在应用程序的其他部分停止它。 以下是我启动流的方式,这是我在文档中找到的典型方式: 任何帮助将不胜感激,谢谢!