【发布时间】:2013-07-04 22:07:18
【问题描述】:
我正在考虑在我的应用程序中使用 glfw,同时在 mac 上开发
在成功编写了一个非常简单的程序来在彩色背景上渲染一个三角形之后, 我注意到在调整窗口大小时,重新渲染场景需要相当长的时间,我怀疑是由于帧缓冲区调整大小造成的。
当我用 NSOpenGLView 重复实验时,情况并非如此。有没有办法提示 glfw 在开始时使用更大的帧缓冲区大小,以避免昂贵的调整大小?
我正在使用 GLFW 3。
您能否帮助我为 Retina 显示器启用高 DPI。在文档中找不到相关内容,但在版本 3 中支持。
【问题讨论】:
-
GL默认的framebuffer是“window-system提供的framebuffer”,完全不受GL的控制,由窗口系统/操作系统管理。所以如果有办法改变它,你必须为你的操作系统/窗口系统寻找平台特定的功能。我不知道任何平台上的任何此类功能,但我没有寻找这样的东西。
-
我尝试用原生 Cocoa api 做同样的事情,并且调整大小非常顺利。所以可能会对 glfw 进行改进
-
据我所知,使用 GLFW 的全部目的是在窗口管理和 OpenGL 内容创建方面获得帮助。因此,我认为更改调整大小方法并不容易。您可能需要进行非常底层的编码。
-
是否需要一些时间来重新渲染场景,即使您将大小调整为较小的窗口或如果您这样做仅会发生这种情况吗?重新调整到比原来更大的窗口大小?
-
总是,它似乎没有进行任何重新渲染,直到您在调整窗口大小时松开鼠标。