4 macos rendering fullscreen swift metal
当我绘制任何形状(无论是否有纹理)时,它会在我进入全屏时闪烁,并在我将鼠标移到顶部时显示标题栏。它会变轻,然后像一瞬间一样回来。我不知道纯色是否会发生这种情况,但是当我为顶点着色并绘制渐变或应用纹理时,就会发生这种情况。这很烦人,即使它很微妙。我该如何解决?
如何重现:在 Metal 中创建一个形状,或者为顶点着色以创建渐变,或者对其应用纹理,并使窗口全屏。将光标移动到窗口顶部。当标题栏出现时,形状/纹理会短暂闪烁。我该如何解决?
我正在使用 macOS 1.15 Catalina。
即使使用 Xcode 的示例 Metal 游戏也可以证明这一点。直接全屏显示,显示标题栏,显示和取消显示标题栏会不流畅。
更新:我已经意识到,如果我将绘图代码放入viewDidLoad()而不是draw()这种行为将停止。我如何制作它以便它没有错误而不必只渲染一帧?
另一个更新:纯色确实会发生这种情况。
这是一个非常困难的问题,因为我不知道该尝试什么。这个错误也很难修复,因为它只是偶尔发生。
另外这个问题只回答了一半,因为结果我设法解决了标题栏阻塞帧率的问题,但仍然存在白色闪光的问题。
| 归档时间: |
|
| 查看次数: |
613 次 |
| 最近记录: |