我目前正在开发一个标准的 Windows 桌面应用程序(标准意味着没有花哨的东西:只有按钮、文本、滑块等),并且在研究了一些 GUI 框架并被排斥后决定自己编写一个 GUI 框架他们都。由于这是一个业余项目,我也愿意尝试,并决定使 GUI 立即模式,而不是保留模式,因为我非常喜欢它简化代码的方式。不过,这里有一个问题:
当将即时模式 GUI 用于典型桌面应用程序时,与保留模式 GUI 相比,使用即时模式 GUI 对性能有何影响?
我总是听说 IMGUI 的性能更差,因为它必须重绘每一帧(或者,如果它以某种方式缓存,它仍然必须每帧都执行逻辑)。但我们在这里谈论的还有多少?我是不是消耗了两倍的 CPU 时间?更多的?如果我假设运行 20 个 IMGUI 程序,它会最大限度地使用 CPU(假设我已经对其进行了优化)?我只是想知道大概情况以及权衡在非游戏环境中是否仍然可行,在这种环境中无需重新绘制每一帧。
还有一个我不明白的关于延迟的含义。在章讨论IMGUI的工作正在进行书由约翰内斯Norneby,解释如下:
框架剪切
在实时应用程序的上下文中需要注意的 IMGUI 的一个方面(每秒不断渲染新帧多次)是用户交互将始终响应在前一帧上绘制的内容。这是因为用户界面必须至少绘制一次,以便用户知道那里有要与之交互的小部件。大多数情况下,如果帧速率足够高,这不会导致任何问题,但这是需要注意的。
这在保留模式 GUI 中有何不同?这是否意味着我在保留模式的 GUI 上多了一个输入延迟帧?
c++ performance user-interface desktop-application immediate-mode
拥有一个带有函数定义的文件bar.swift:
func bar() {
println("bar")
}
Run Code Online (Sandbox Code Playgroud)
以及立即模式运行的脚本foo.swift:
#!/usr/bin/xcrun swift -i
bar()
Run Code Online (Sandbox Code Playgroud)
如何导入bar.swift的bar()来自功能foo.swift?
Forth着名的允许用户通过为控制流定义新单词来改变语言(超出标准给出的单词:DO,LOOP,BEGIN,UNTIL,WHILE,REPEAT,LEAVE IF,THEN,ELSE,CASE,ENDCASE等)
是否有人们实际创建自己的新控制流程词的常见例子?有哪些典型和有用的例子?或者标准已经定义了人们实际需要的一切?
我希望找到一些有用的语言扩展示例,这些示例已经被接受或证明通常有助于使语言更具表现力.
在本学期的系统软件课程中,我们正在学习汇编程序和其他系统软件.在阅读整个课程时,我遇到了LITERALS的主题.
在文字和立即操作数之间进行了比较,他们说它们之间的唯一区别是文字不是作为指令的一部分组装的,而立即操作数则是.
如果我们可以使用立即操作数,为什么我们必须使用文字?是什么让他们与众不同?换句话说,何时使用文字以及何时使用立即操作数?
我正在为OpenGL构建一个图形API,它基于基本的调用绘图图形样式.基本上,不是将数据存储到GPU中,而是使用它的句柄调用它,而是提供信息以绘制每次更新应该绘制的内容.我知道它很慢,但它很简单,适用于非性能关键应用程序.无论如何,有没有现代的glBegin/glEnd?它不需要调用每个顶点,但我可以在每次更新时发送数据,而不将顶点存储在gpu中?
c++ ×2
abstraction ×1
assembly ×1
compilation ×1
control-flow ×1
forth ×1
gforth ×1
literals ×1
opengl ×1
performance ×1
swift ×1