【blender2.8】cycles渲染硬件的研究
忘記截圖了,只有文本,湊合看吧:
blender2.8的cycles渲染器可以同時(shí)支持CPU+GPU渲染,原理比較簡(jiǎn)單:
將GPU單獨(dú)當(dāng)作一個(gè)線(xiàn)程去分配一個(gè)tile,CPU的每個(gè)線(xiàn)程各分配一個(gè)tile
這個(gè)在渲染初期的確可以提高速度,因?yàn)镚PU也算一個(gè)線(xiàn)程,相當(dāng)于多了一個(gè)線(xiàn)程去渲染
但是存在一個(gè)問(wèn)題,就是GPU的算力比CPU高很多,在渲染的時(shí)候GPU總是比CPU快,所以可能會(huì)出現(xiàn)全部圖片幾乎被GPU渲染完了但是還有少量tile被CPU占著。目前來(lái)看blender的每個(gè)tile只支持一個(gè)線(xiàn)程,所以全圖覆蓋后Cuda就罷工不干了,因?yàn)槭O碌膖ile全是CPU在占著。

這里我渲染了同一個(gè)場(chǎng)景,對(duì)比一下速度
電腦配置:i7 9750H/GTX1660Ti/8GB DDR4
渲染時(shí)風(fēng)扇全速開(kāi)啟

大尺寸渲染:
320x240 1920x1080 采樣512次 僅使用GPU? 09'13''66
(預(yù)計(jì)時(shí)間是8'20'',已經(jīng)很接近了)
320x240 1920x1080 采樣512次 CPU + GPU? 12'40''19
(預(yù)計(jì)時(shí)間6'30'',全圖覆蓋時(shí)還剩1'10'',但這預(yù)計(jì)1分鐘足足渲染了6分鐘左右,此時(shí)Cuda已罷工)
CPU渲染就不放了,第二項(xiàng)測(cè)試就已經(jīng)很慘了。
小尺寸渲染:
32x32 1920x1080 采樣512次 僅使用GPU 09'29'60
(的確比大尺寸要慢,但是幾乎可以忽略)
32x32 1920x1080 采樣512次 僅使用CPU >15分鐘
(渲染時(shí)間嚴(yán)重超時(shí),這里不測(cè)了)
32x32 1920x1080 采樣512次 CPU + GPU 07'23'23
(渲染速度大幅度提高,雖然GPU還是把CPU甩在后面,但因?yàn)槊娣e小,CPU基本上可以追上,而且全圖覆蓋后不會(huì)墨跡太長(zhǎng)時(shí)間)
漸進(jìn)式渲染(速度很慢,這里只采樣64次)
漸進(jìn)式 1920x1080 采樣64次 僅使用GPU 06'46'84
(Cuda占用不穩(wěn),有一點(diǎn)波動(dòng))
漸進(jìn)式 1920x1080 采樣64次 僅使用CPU 02'41'56
(12個(gè)核心全部運(yùn)作,占用一直是100%,這個(gè)渲染速度超出了我的預(yù)期)
漸進(jìn)式 1920x1080 采樣64次 CPU + GPU 03'31'62
(此時(shí)雖然都在運(yùn)作,但是CPU波動(dòng)非常大,一會(huì)20%一會(huì)100%,感覺(jué)GPU在搶占CPU的進(jìn)程,相對(duì)于純GPU沒(méi)有變化)

這里給一個(gè)大致的建議,不準(zhǔn)確,具體還得自己測(cè)試:
塊狀渲染:使用小尺寸的渲染方式(我設(shè)定的是32x32,如果CPU算力不夠還可以適當(dāng)減?。?/p>
然后采用CPU+GPU組合渲染。
漸進(jìn)渲染:這里要糾正一些人的誤區(qū),漸進(jìn)渲染也是可以使用多核心的,如果CPU的核心比較多建議只開(kāi)CPU進(jìn)行漸進(jìn)渲染,如果核心比較少,還是建議使用CPU+GPU的組合渲染方式,盡管GPU會(huì)拖慢CPU,但CPU至少也有點(diǎn)貢獻(xiàn),能省點(diǎn)時(shí)間就省點(diǎn)時(shí)間。