swift - 在 SwiftUI 中重用 MetalView 而不会破坏其 backingFactor
问题描述
我使用自定义NSViewRepresentable
MetalView 在屏幕上渲染 2D MTLTexture
,SwiftUI 在NavigationView
'sDetailView
中。
导航时我注意到严重闪烁NavigationView
,因为每次我选择另一个项目时,DetailView
都会重新启动,这会导致 MetalView 也完全初始化。
为了防止闪烁,我将其存储MTKView
在模型中并重复使用,效果很好——不再闪烁。但是,当第一次重用视图时,支持因素会以某种方式加倍并从那时起保持这种方式。图像在每个轴上呈现两倍大,即使框架和MTKView
' 窗口的支持因子没有改变。
我是否必须考虑一些设置才能在不重新缩放的情况下重用 MetalKitView?如果有另一种方法可以防止闪烁,我也会尝试另一种方法。
解决方案
推荐阅读
- python - 使用python从json中提取csfr令牌
- express - 减少我的 Express 应用程序的代码大小
- flutter - 颤振 | 获取 Firebase 电子邮件链接登录数据
- selenium - 如何在机器人框架中忽略全局导入中的导入文件
- python - 创建一个只提取行的新数据框包含一个特定的单词
- c# - DataSet.ReadXml - 错误“输入字符串的格式不正确”
- javascript - 切换 svg 可见性
- azure - Azure 数字孪生 - 计算模型数量
- nginx - nginx 最大上传大小 elasticbeanstalk aws
- json - 颤振 - json - NoSuchMethodError:类'_InternalLinkedHashMap
' 没有具有匹配参数的实例方法 'map'