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)支持

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

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报