![]() |
1
11
最快的应用商店批准的方法做CPU只有二维图形是创建一个
为了获得最佳效果,请使用
编辑:理论上,这应该比绘制OpenGL纹理快,但和往常一样,轮廓要确定。
编辑2:
|
![]() |
2
3
最快的方法是使用ioframebuffer/iosurface,这是私有框架。 因此,OpenGL似乎是AppStore应用程序的唯一可能方式。 |
![]() |
3
3
只需将我的评论以答案的形式发布到@rpetrich的答案中,我会说在我的测试中,我发现OpenGL是最快的方法。我实现了一个简单的对象(uiview子类),名为 EEPixelViewer 一般来说,这样做足以让我认为对大多数人都有效。 它使用OpenGL将各种格式(24bpp-rgb、32位rgb a和几种ypcbcr格式)的像素尽可能高效地推送到屏幕上。该解决方案可在几乎每个iOS设备(包括旧设备)上实现大多数像素格式的60fps。使用非常简单,不需要OpenGL知识:
对每个帧重复displayPixelBufferPlanes调用(它使用gltexImage2d将像素缓冲区加载到GPU),这几乎就是它的全部功能。该代码之所以聪明,是因为它试图使用GPU进行任何所需的简单处理,例如排列颜色通道、将ypcbcr转换为rgb等。
使用uiview的缩放也有相当多的逻辑。
|
![]() |
4
1
也许您可以将软件渲染器中使用的方法抽象为GPU明暗器…可能会得到更好的性能。您需要将编码的“视频”数据作为纹理发送。 |
![]() |
5
0
比两者都快的方法
我将它用于快速动画视图,您可以在这里看到: https://github.com/justinmeiners/image-sequence-streaming 使用起来有点困难,我是在问了自己关于这个主题的问题之后发现的: How to directly update pixels - with CGImage and direct CGDataProvider |
![]() |
FranticFronk · Tkinter单选按钮在已选择时执行命令 6 月前 |
![]() |
Kumkuatte · 如何将UI元素对齐到Unity中的左侧位置 10 月前 |
![]() |
Calax · GUI不显示所有组件(C++) 11 月前 |
![]() |
trassert · python flet容器 11 月前 |
![]() |
Shady Abdulmunim · 喷气背包组合中的扫掠渐变圆形进度条 11 月前 |
![]() |
Jason Parmar · 伪OSS错误:校验和输入流计算器不支持标记 11 月前 |
![]() |
zadisk8 · 带有Q拆分器和多级选项卡的PyQt5 1 年前 |
![]() |
Patrick Visi · Zitadel日常创建服务用户 1 年前 |