带有wantsLayer的NSOpenGLView在辅助显示器上很慢?

时间:2016-04-19 17:13:54

标签: macos opengl nsopenglview

我正在尝试使用支持图层的NSOpenGLView(wantsLayer = YES),并且在辅助显示器上运行应用程序时发现性能问题。

使用GLEssentials示例最简单地复制该问题,并在self.wantsLayer=YES中添加[GLEssentialsGLView awakeFromNib]

https://developer.apple.com/library/mac/samplecode/GLEssentials/Introduction/Intro.html

查看问题的最佳方法是将非视网膜显示设置为操作系统中的主显示,并将应用程序移至视网膜显示屏。帧速率显着下降。当使用Retina显示器时,不会发生这种情况,因此似乎存在一些特定于辅助显示器的问题。它在wantsLayer = NO时也不会发生,所以它也与层支持有关。

我们不确定这是否是一个实际的操作系统错误,或者是否在切换不存在的显示时需要进行一些优化。

任何想法,如果有一个好的解决方法/技术? (仅供参考 - 我知道透明窗口覆盖,如果可能的话,我希望避免这种情况。)

1 个答案:

答案 0 :(得分:0)

仅供参考,这是作为雷达问题提交的,并在下一个主要操作系统版本中标记为固定 - 10.12 Sierra。同事验证了修复。