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