CAMetalLayer 浅析

作者: 白水灬煮一切 | 来源:发表于2019-03-30 11:01 被阅读0次

    Metal &Layer 设计 Metal框架 (内容太多暂无研究)

    在iOS8里,苹果新发布了一个新的接口框架叫做Metal,它是一个支持GPU(Graphics Processing Unit-图形处理器)加速3D绘图的API。

    CAMetalLayer 是框架QuartzCore中iOS新增的。是核心动画层使用Metal管理的一个Layer。利用Metal在应用程序的渲染,使用CAMetalLayer作为一个背层由它返回从视图的layerClass类的方法。渲染层的内容,使用nextdrawable方法检索纹理,然后用它作为Metal中的一个渲染目标渲染pipeline。渲染每一帧后,新的内容使用presentdrawable:或presentDrawable:atTime: :方法显示用来渲染命令缓冲区。

    Metal和OpenGL ES相似,它也是一个底层API,负责和3D绘图硬件交互。它们之间的不同在于,Metal不是跨平台的。与之相反的,它设计的在苹果硬件上运行得极其高效,与OpenGL ES相比,它提供了更快的速度和更低的开销。

    注意:Metal应用不能跑在iOS模拟器上,它们需要一个装载着苹果A7芯片或者更新的芯片的设备。所以要学习这篇教程,需要一台这样的设备(iPhone 5S,iPad Air,iPad mini2,iPad mini3)来完成代码的测试。

    CAMetalLayer 是 Apple Core Animation Framework 的内部模块,  它 管理Metal Texture Pool, 并且负责渲染MTL Texture到窗口。 

       CAMetalLayer 的使用 

            device:    需要为其创建 MTLDevice 对象 

            pixelFormat:   MTLTexture的像素格式, 目前支持 MTLPixelFormatBGRA8Unorm 和 MTLPixelFormatBGRA8Unorm_sRGB 两种。

    ---------------------

    作者:volvet

    来源:CSDN

    原文:https://blog.csdn.net/volvet/article/details/50877679

    版权声明:本文为博主原创文章,转载请附上博文链接!

    相关文章

      网友评论

        本文标题:CAMetalLayer 浅析

        本文链接:https://www.haomeiwen.com/subject/sedjbqtx.html