ETH官方钱包

創(chuàng)作內(nèi)容

2 GP

坑爹的各向異性紋理過濾性能問題(??)

作者:垂暮龍-青月(動物朋友│2024-07-12 07:12:46│巴幣:102│人氣:1165
一大早看到VRchat Dev update開始想吐槽這東西怎感覺不如自動改資產(chǎn)到各項異性紋理過濾到16x貢獻(xiàn)更大。

然後無聊把自己還製作的半成品打開來試驗一下,發(fā)現(xiàn)...坑爹了難怪一直測量計算紋理採樣性能怎樣都很難準(zhǔn)確對上。

關(guān)閉各向異性和開啟各向異性過濾到16x性能在同個場景不同地方影響25~50%額外耗時...

而剛好做偏向風(fēng)格化的Shader,這下子本身就很偏向紋理單元瓶頸了,而解析度一般都較高,人物不會太多不會影響幾何耗時過多,總是因此導(dǎo)致像素Shader瓶頸,而紋理單元總是瓶頸而影響巨大。

導(dǎo)致問題的原因在於驅(qū)動本身可能會覆蓋部分設(shè)置導(dǎo)致繪製做處理紋理相關(guān)的時候在採樣過濾被改善,其次最大原因在於目前現(xiàn)代的GPU架構(gòu)是『自適應(yīng)』式的。

實際上並沒有在紋理單元內(nèi)部提供足夠大的buffer和固定內(nèi)置很多的計算單元,足以輕鬆大量處理N個採樣點,而是自適應(yīng)根據(jù)一定需求降低採樣級別(實際PC硬體只有2x、4x、8x、16x加速)。

也沒什麼方便好查的spec和profile會提醒這問題一直沒注意過。

你遊戲中設(shè)置為16x其實意思是最大16x而不是真的一直執(zhí)行16x...

這一定程度上會導(dǎo)致紋理單元採樣週期增加,如果你剛好紋理單元瓶頸就會導(dǎo)致顯著減慢。

其次有mipmap等,再加上Shader存取模式才導(dǎo)致對VRAM存取的頻寬影響小得多,總是紋理單元瓶頸。

只能說測試還是太少,沒把各種可能考慮進(jìn)去,強(qiáng)制開啟至16x(150fps)和關(guān)閉(210fps)

各向異性相當(dāng)於執(zhí)行了三線性在不同方向,Unity基本上專案設(shè)置『強(qiáng)制』時就是8x的意思(9~16x 但硬體實際上只有2x 4x 8x 16x,因為不是設(shè)置為16x所以實際為8x)

還想說可以吐槽一下行動GPU的填充率週期延長問題(手冊上寫了),但沒仔細(xì)考慮過PC是怎實現(xiàn)也很少詳細(xì)給,只是能說好一些

在手機(jī)上比方說你fp16格式下紋理採樣單元週期是1,fp32是2,再堆個三線性上去會變成4,吞吐就大幅下降了,尤其手機(jī)遊戲大多數(shù)偏向風(fēng)格化導(dǎo)向設(shè)計,讓玩家注意力多在相對顯眼飽和度較高的地方,準(zhǔn)確計算材質(zhì)和製造許多高級效果好像不是那麼必要就是了。

爛手機(jī)舊架構(gòu)你API給你8x 16x實際上只跑2x...沒做的硬體就不考慮能實際執(zhí)行了!

PC上一般就是fp32的計算座標(biāo)的處理的就是...

基本上雙線性吞吐週期就是1,到三線性估計也是1,各向異性往上多少都會導(dǎo)致需要更多紋理單元採樣的週期...

還以為是免費的 坑爹啊 然後由於現(xiàn)代基本上內(nèi)置mipmap所以紋理駐留紋理cache影響性能只有1%左右甚至更低不miss,但是如果你是需要動態(tài)生成mipmap例如深度判斷剔除等需求,例如草剔除就很可能需要更進(jìn)階的API標(biāo)準(zhǔn)和硬體加速改善了。

不過CS異步動態(tài)處理mipmap還是挺行的就是。

然後另外VRchat上,專案的總設(shè)定是無效的,所以無法靠專案設(shè)定覆寫所有紋理走各向異性,必須手動將需要的紋理進(jìn)行調(diào)整才能產(chǎn)生效果。(無論avatar或world)

(現(xiàn)在版本有強(qiáng)制複寫AL9實際是AF8x AF需大於等於1還有一些條件要允許能開AF的紋理...)

另外可能是硬體實現(xiàn)問題,採樣量增長還會提高利用率,所以才導(dǎo)致實際只額外25~50%,實際影響更大。

______

VRchat官方人員說已經(jīng)強(qiáng)制套用16x了????? 到底是我業(yè)障重到平行宇宙還是遊戲出現(xiàn)靈異事件了?
_____

問題出在Unity引擎的實現(xiàn)...  甚至可能裡面有許多坑 甚至許多遊戲引擎恐怕存在問題...

_________

Unity覆寫紋理各向異性會存在一點問題,實際上預(yù)設(shè)(VRchat也採預(yù)設(shè))強(qiáng)制是設(shè)定為9,實際硬體工作為8x(只能處理2x 4x 8x 16x)

當(dāng)數(shù)值為1~9之間設(shè)為9

正常情況下覆寫效果與性能測試應(yīng)當(dāng)是一致與驅(qū)動測試覆蓋8x相等,但是關(guān)閉(各向異性)或按每紋理甚至強(qiáng)制使用性能會相等...

只有使用驅(qū)動覆蓋關(guān)閉才能真關(guān)閉,奇怪的是即使在關(guān)閉各向異性下性能也與強(qiáng)制使用或手動設(shè)置至8x相等,跟驅(qū)動情形不一樣,但紋理是真的模糊了然後也沒拿到性能...

可能是Unity的神奇吧?

不過VRchat專案測試與關(guān)閉和2x相等與大致相等,強(qiáng)制開8x或16x(驅(qū)動)會更慢,但VRchat確實按照Untiy API進(jìn)行設(shè)定那正常應(yīng)該跑8x沒錯...?

但VRchat官方人員說已經(jīng)強(qiáng)制16x,但你自己家的文檔寫使用Unity API的預(yù)設(shè)那應(yīng)該是9(實質(zhì)為8x)...??

但遊戲中仍存在異常的模糊和摩爾紋等現(xiàn)象(不過部份可以靠反鋸齒解決,但能靠反鋸齒解決代表跟紋理過濾屬於不同類型就是了)


引用網(wǎng)址:http://www.jamesdambrosio.com/TrackBack.php?sn=5966215
All rights reserved. 版權(quán)所有,保留一切權(quán)利

相關(guān)創(chuàng)作

同標(biāo)籤作品搜尋:VRchat|Unity3D|GPU|性能改善

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

2喜歡★digong94 可決定是否刪除您的留言,請勿發(fā)表違反站規(guī)文字。

前一篇:期望VRchat未來的改... 後一篇:VRC avatar與可...


face基於日前微軟官方表示 Internet Explorer 不再支援新的網(wǎng)路標(biāo)準(zhǔn),可能無法使用新的應(yīng)用程式來呈現(xiàn)網(wǎng)站內(nèi)容,在瀏覽器支援度及網(wǎng)站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現(xiàn)和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業(yè)系統(tǒng)版本才可使用)

face我們了解您不想看到廣告的心情? 若您願意支持巴哈姆特永續(xù)經(jīng)營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學(xué)】