【发布时间】:2023-03-27 14:56:01
【问题描述】:
我正在尝试使用支持图层的 NSOpenGLView (wantsLayer = YES),并注意到在辅助显示器上运行应用程序时存在性能问题。
使用 GLEssentials 示例和在 [GLEssentialsGLView awakeFromNib] 中添加 self.wantsLayer=YES 最容易重现该问题。
https://developer.apple.com/library/mac/samplecode/GLEssentials/Introduction/Intro.html
查看问题的最佳方法是将非视网膜显示器设置为操作系统中的主显示器,然后将应用程序移至视网膜显示器。帧速率显着下降。当仅使用 Retina 显示器时不会发生这种情况,因此似乎存在一些特定于辅助显示器的问题。 wantsLayer = NO时也不会发生,所以也和被layer backed有关。
我们不确定这是否是一个实际的操作系统错误,或者在切换不存在的显示器时是否需要进行一些优化。
如果有好的解决方法/技术有什么想法吗? (仅供参考 - 我知道透明窗口覆盖,并希望尽可能避免这种情况。)
【问题讨论】:
标签: macos opengl nsopenglview