如果核芯显卡使用了金属罩下,可以在金属实现运行速度比CG的速度更快?为什么?

问题描述 投票:0回答:1

比方说,我想开发一个应用油漆和需要实现的刷机。对于光栅刷,你基本上需要盖章的触摸位置的纹理与给定的间隔。

- 任务:复合的小图像(刷尖)在一个更大的。

我决定在CG使用CGContext上呈现邮票先建一个原型,并发现它甚至凝聚的风格和一个体面的大小的画布(CGContext上输出的大小)表现不俗。

然而,因为我需要画到真正的大纹理(8000x6000将是巨大的),我决定给金属的机会。我知道,这个任务可能是微不足道的人,在金属背景,但我在这个领域很新。所以我试图用CIFilters(金属背衬)用于合成画笔在画布上,并在自定义MetalImageView显示它:GTKView。

我以为有画布和画笔为CIImages和金属层显示它们应该已经不是天真的CG实现更好的性能。但事实并非如此。该CIFilter方法使得整个画布每一个标记(在:点),无论是在CG我刚刚刷新点周围的小矩形。

现在,我想我能做到,随着CIFilter如果我可以改变计算的程度。我不知道是否能与核心图像来完成,但我敢肯定,在金属会很容易让有经验的人。

- 问:纯金属的实施可以更快冲压图像比CG的一种,因为CG引擎盖下与金属运行?如果是这样,如何更快?是否值得学习如何做到这一点,或者我应该更好地度过那段时间提高了CG实施?

请注意,我要求一个光栅刷,而不是一个矢量刷贝塞尔路径是比较容易的方式代码和运行速度更快,但不能使用纹理画笔。

我真的很感激任何帮助。

performance core-graphics metal
1个回答
1
投票

实际上有一个关于chapter in the Core Image Programming Guide。他们描述了连续涂到使用CIImageAccumulator类相同的纹理。您也可以下载sample app

我认为,性能方面不应该有巨大的差异。你应该能够告诉核心形象的笔触滤波器的region of interest和定义(extent)的域重优化。然后,它应该能够仅渲染图像,而不是在每一帧整个事情的必要部分。

© www.soinside.com 2019 - 2024. All rights reserved.