MetalPetal是一个基于 Metal 的图像处理框架,旨在通过易于使用的编程接口为静态图像和视频提供实时处理。
MetalPetal的设计考虑了以下目标。易于使用的API
提供方便的API并避免常见的陷阱。
表现
高效使用CPU、GPU和内存。
可扩展性
易于创建自定义过滤器以及插入自定义图像处理单元。
迅捷
为Swift程序员提供流畅的体验。
MetalPetal的一些核心概念与Apple的CoreImage框架中的非常相似。
MetalPetal还做了很多优化。它会自动缓存函数、内核状态、采样器状态等。它利用Metal特性,如可编程混合、无记忆渲染目标、资源堆和金属性能着色器,使渲染快速高效。在macOS上,MetalPetal还可以利用Apple芯片的TBDR架构。在渲染之前,MetalPetal可以查看你的图像渲染图并找出进行渲染所需的最少中间纹理数量,从而节省内存、能源和时间。如果可以连接多个“recipes”以消除冗余渲染通道,它还可以重新组织图像渲染图。( MTIContext.isRenderGraphOptimizationEnabled)优于CoreImage完全可定制的vertex 和fragmentfunctions
MRT(MultipleRenderTargets)支持
一般性能更好。(需要详细的基准数据)
评论