MetalPetal基于 Metal 的图像处理框架

联合创作 · 2023-09-29 15:43

MetalPetal 是一个基于 Metal 的图像处理框架,旨在通过易于使用的编程接口为静态图像和视频提供实时处理。


MetalPetal 的设计考虑了以下目标。



  • 易于使用的 API

    提供方便的 API 并避免常见的陷阱。


  • 表现

    高效使用 CPU、GPU 和内存。


  • 可扩展性

    易于创建自定义过滤器以及插入自定义图像处理单元。


  • 迅捷

    为 Swift 程序员提供流畅的体验。



MetalPetal 的一些核心概念与 Apple 的 Core Image 框架中的非常相似。


MetalPetal 还做了很多优化。它会自动缓存函数、内核状态、采样器状态等。


它利用 Metal 特性,如可编程混合、无记忆渲染目标、资源堆和金属性能着色器,使渲染快速高效。在 macOS 上,MetalPetal 还可以利用 Apple 芯片的 TBDR 架构。


在渲染之前,MetalPetal 可以查看你的图像渲染图并找出进行渲染所需的最少中间纹理数量,从而节省内存、能源和时间。


如果可以连接多个“recipes”以消除冗余渲染通道,它还可以重新组织图像渲染图。( MTIContext.isRenderGraphOptimizationEnabled)


优于 Core Image



  • 完全可定制的 vertex fragment functions


  • MRT(Multiple Render Targets)支持


  • 一般性能更好。(需要详细的基准数据)


浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报