最佳答案
我目前正在开发一个标准的 Windows 桌面应用程序(标准意味着没有花哨的东西: 只有按钮、文本、滑块等) ,在研究了一些图形用户界面框架后,我决定自己编写一个图形用户界面框架。由于这是一个业余爱好项目,我也愿意尝试,并决定使 GUI 立即模式,而不是保留模式,因为我真的很喜欢它简化代码的方式。但问题是:
在典型的桌面应用程序中,与保留模式 GUI 相比,使用即时模式 GUI 对性能的影响是什么?
我总是听说 IMGUI 表现得更差,因为它必须重绘每一帧(或者,如果它以某种方式缓存,它仍然必须做每一帧的逻辑)。但我们还要谈多少呢?我是不是烧掉了两倍的 CPU 时间?还要吗?如果我假设运行20个 IMGUI 程序,它是否会最大化 CPU (假设我已经优化了它) ?我只是想知道球场的大致情况,以及在非游戏环境中这种权衡是否仍然可行,因为在非游戏环境中没有必要重新绘制每一帧图像。
还有一个关于延迟的暗示,我不明白。在 约翰尼斯 · 诺尔内比的 在制作中的书的 讨论图形用户界面的章节中,解释如下:
框架剪切
IMGUI 在实时环境中需要注意的一个方面 应用程序(每秒多次不断渲染新帧) 就是用户交互总是响应 这是因为用户界面必须 至少绘制一次,以便用户知道有小部件 大多数情况下,这不会引起任何 问题,如果帧速率是足够高,但它是一些 意识到。
这在保留模式的 GUI 中有什么不同吗?这是否意味着我比保留模式 GUI 多了一个输入延迟帧?