簡體   English   中英

Metal 與 GLSL CoreImage 性能對比

[英]Metal vs GLSL CoreImage performance

WWDC 會議 510 中,Apple 工程師展示了對用Metal編碼CIKernel支持,並聲稱它應該工作得更快。

我一起制作了一個測試項目,它在metalglsl實現了運動模糊(代碼類似於 510 會話中的代碼)。

有時metal kernel更快,有時glsl kernel更快,但我絕對看不到metal kernel在整體上表現出一致性和明顯更好。 應該是這樣的,我錯過了什么嗎?

注意:該項目不會在模擬器上運行,您需要 A8+ 驅動的設備。

看起來其中一些與硬件有關。 這是我的 iPad Pro 10.5 英寸結果:

glsl 1 took 229.572057723999ms
glsl 2 took 49.1310358047485ms
glsl 3 took 46.7269420623779ms
glsl 4 took 53.08997631073ms
glsl 5 took 48.9979982376099ms
glsl 6 took 49.0390062332153ms
glsl 7 took 52.5139570236206ms
glsl 8 took 46.4930534362793ms
glsl 9 took 39.6310091018677ms
glsl 10 took 45.9860563278198ms
metal 1 took 77.7549743652344ms
metal 2 took 44.1800355911255ms
metal 3 took 46.0859537124634ms
metal 4 took 45.3709363937378ms
metal 5 took 43.5279607772827ms
metal 6 took 38.9848947525024ms
metal 7 took 37.1809005737305ms
metal 8 took 37.8340482711792ms
metal 9 took 37.6850366592407ms
metal 10 took 37.5720262527466ms

我的 iPhoneSE 結果:

glsl 1 took 394.147992134094ms
glsl 2 took 94.601035118103ms
glsl 3 took 81.4379453659058ms
glsl 4 took 76.9931077957153ms
glsl 5 took 77.0320892333984ms
glsl 6 took 75.8579969406128ms
glsl 7 took 76.9950151443481ms
glsl 8 took 77.8199434280396ms
glsl 9 took 79.7009468078613ms
glsl 10 took 79.4800519943237ms
metal 1 took 146.992921829224ms
metal 2 took 88.6669158935547ms
metal 3 took 81.8150043487549ms
metal 4 took 78.1329870223999ms
metal 5 took 79.5910358428955ms
metal 6 took 93.6589241027832ms
metal 7 took 94.8940515518188ms
metal 8 took 89.0530347824097ms
metal 9 took 84.3830108642578ms
metal 10 took 77.949047088623ms

一個問題和一個想法:

  • 什么設備產生了你的結果?
  • 我很好奇是否有不同類型的過濾器,比如顏色內核會表現不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM