gpt4 book ai didi

ios - 作为 MTKView subview 的 UIView 是否在 GPU 上处理/渲染?

转载 作者:行者123 更新时间:2023-11-30 10:26:16 29 4
gpt4 key购买 nike

我将 UIView 添加到 MTKView 并在 MTKViewDelegate 的 DRAW 委托(delegate)方法中对 UIView 进行动画处理。

该动画将由 GPU/Metal 处理吗?动画应该更平滑还是与我使用 UIView.animate 相同?

     func draw(in view: MTKView) {

let newdescriptor = self.metalview.currentRenderPassDescriptor
let commandbuffer = self.metalqueue.makeCommandBuffer()
let commandencoder = commandbuffer?.makeRenderCommandEncoder(descriptor: newdescriptor!)



// //////////////////////////// //
timer += 0.01
var currenttime = sin(timer)
uiviewbox.transform = CGAffineTransform(rotationAngle: CGFloat(sin(timer)))
// //////////////////////////// //




commandencoder?.endEncoding()
let thedrawable = self.metalview.currentDrawable
commandbuffer?.present(thedrawable!)
commandbuffer?.commit()
}

最佳答案

简短的回答:不,也不。实际上,该 View 是 MTKView 的 subview 以及您使用 draw 方法作为时钟这一事实是完全无关的。您所做的与在 CADisplayLink 的每个回调中更改有关 View 的某些内容没有什么不同 - 并且您永远不会问是否更高效或在 GPU 上更高效。事实上,因为这是在主线程上完成的,所以可以说比普通 View 动画效率低(与也使用 CADisplayLink 技术的 UIKit Dynamics 的方式相同)。

关于ios - 作为 MTKView subview 的 UIView 是否在 GPU 上处理/渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60029542/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com