原文链接: https://developer.apple.com/documentation/metalkit/mtkview?language=objc
MTKView 用于创建,配置,显示metal对象。MTKView提供了一个MTLRenderPassDescriptor对象,该对象指向一个纹理来渲染内容。MTKView 使用CAMetalLayer来管理drawable对象。MTKView 需要一个MTLDevice对象来管理Metal对象。在绘制之前必须设置device相关属性。
MTKView 提供了3种绘制模式:
- Timed updates: view内容的重绘依赖内部的计时器。此时paused 和 enableSetNeedsDisplay 为NO。该模式用于定期更新的游戏和其他动画内容。
- Draw notifications: 当内容无效时view会进行重绘操作。一般由于调用了setNeedsDisplay方法或其他相关的view行为。paused 和 enableSetNeedsDisplay为YES。该模式用于传统的工作流程序,当数据更改时会进行更新。
- Explicit drawing: 当显式调用draw方法时view会进行重绘操作。paused=YES, enableSetNeedsDisplay=NO。该模式用于创建自定义的工作流程。