ETH官方钱包

創(chuàng)作內容

2 GP

實作Graphic API時,永遠不要忽略任何一個Validation錯誤

作者:巧克力喬斯達│2023-11-23 03:40:53│巴幣:4│人氣:80
不論D3D12或是Vulkan都是如此

D3D12:

Vulkan:

除非很篤定錯誤是其他App造成的
例如Vulkan會在RTSS這個顯示FPS的工具開啟的情況下,回報Swapchain有問題
否則絕對不要忽略任何一個Validation Error! Runtime沒事不代表真的沒事
輕則只是繪圖效果有點差異或者效能有點差,重則TDR當掉!

最近開始參與新專案了,由於是一款知名舊作重製,所以引擎反而退回UE3而不是UE5
這時Xbox的D3D12實作根本不夠嚴謹...導致一把XSX的validation layer打開就一堆驗證錯誤

這幾天就以拆彈手之姿處理各種錯誤,像是:
1. 明明XSX只支援到Shader Model 6.6卻用了6.7,導致CreateGraphicsPipeline錯誤
2. 資源處於錯誤的狀態(tài),例如RTV/DSV並不是D3D12_RESOURCE_STATE_RENDER_TARGET / D3D12_RESOURCE_STATE_DEPTH_WRITE.
又或者資源被綁定為Shader輸入時狀態(tài)還是D3D12_RESOURCE_STATE_COPY_DEST而不是D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE...
3. Shader使用了錯誤或不一致的semantic,例如vertex shader輸出'SV_POSITION',但pixel shader輸入'POSITION',這樣也不能過驗證

簡直就像是..他們引進D3D12時,完全沒開Validation Layer在實作!
能發(fā)揮底層方面的專才我是很開心
但這種基本型的錯誤多了,還是挺惱人的
所以實作Graphic API時,永遠不要忽略任何一個Validation錯誤!
引用網址:http://www.jamesdambrosio.com/TrackBack.php?sn=5833964
All rights reserved. 版權所有,保留一切權利

相關創(chuàng)作

留言共 0 篇留言

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

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

前一篇:真人快打1 - 開發(fā)點滴... 後一篇:DirectML - S...


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

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