舉例來說,如果我使一個平面上,我得到每second.With一個簡單的混合1500幀映射的幀速率下降到700(雙幀速率下降?!)。在微軟的DirectX SDK例如'視差映射閉塞「這個模型是一個很小的,不超過200個頂點圓,但是幀率下降到了400.對我來說,混亂是像Crysis這樣的遊戲結合了所有最新和最重的着色器效果(鑲嵌比視差映射更重要)是的,我可以在超級設置上展示50個FPS,比SDK示例少6倍,但是Crysis在屏幕上呈現數十萬個頂點+比SDK示例更多的效果。如何預測HLSL着色器如何影響性能?
回答
說得很簡單 - 優化的遊戲引擎推動儘可能多的數據,在做每幀儘可能少的工作越好。國際海事組織(IMO)認爲,樣本幀率的下降並不能反映出着色器/代碼在GPU/CPU上的工作性能如何,而且樣本也不是最優化的(它的意思是可讀性 - 不是超快速)你比較的引擎。
直接比較曲面細分和像素推送是錯誤的。現代遊戲引擎通常會產生大量的細節,你可以在GPU上看到這些細節,這對幀速率很有幫助。另外 - 當你在遊戲世界中時,你不知道這個「高度」鑲嵌的搖滾你能看到的是一個精心製作的幻影,或者它確實是由許多多邊形組成的。
如果你周圍的東西調整,我敢打賭,DX樣品可製成超快太。但它不再是可讀的 - 也不是手頭技術的純粹例證。
此外,請注意,添加任務不會線性增加所用時間。嘗試渲染兩個曲面。幀率下降多少?
在像這樣的簡單示例中查看幀速率並不是一個非常有意義的性能度量。 DirectX旨在爲類似遊戲的工作負載提供高效的工作負載,其中每幀大概以60 fps的速度渲染大量幾何圖形,而不是用於在100s或1000s fps渲染非常簡單的幾何圖形的綜合測試。您不能根據像這樣單獨測量幀速率來推斷渲染特定對象的相對性能非常有用的任何東西。軟件和硬件設計的最大吞吐量爲16.6毫秒幀,而不是最小延遲。
當DirectX的表現看,你必須記住,很多並行回事。在一個典型的遊戲中,當GPU渲染幀n-1時,CPU將發出幀n的繪圖命令。 GPU流水線可以針對來自一次繪製調用的三角形着色像素,同時對來自不同調用的三角形進行光柵化,並且處理來自另一次調用的頂點全部在同時工作的不同硬件單元上。查看渲染某些簡單的幀速率時,您並未有效地使用硬件。大部分硬件都會閒置很長一段時間。硬件的設計是爲了在一次處理大量事物時獲得最大的吞吐量,並且當您只給它一件或幾件事情時,其大部分功耗就會被浪費。
當你注意,現在的遊戲像孤島危機管理在高端GPU的每秒60幀渲染非常複雜的場景。如果你有一個特定的場景,你試圖渲染或效果,你試圖在其中一個GPU上創建,它將很可能足夠快,滿足您的需求,而無需做出任何優化工作。如果您真的達到性能成爲場景問題的地步,那麼可以使用PIX,nvPerfHUD等性能工具,您可以使用這些工具來追蹤和優化場景中的性能瓶頸。
- 1. HLSL投影着色器
- 2. C++着色器,HLSL,如何發送到着色器,紋理? 「sampler2d」?
- 3. HLSL - 頂點着色器的輸出POSITION0如何影響像素着色器的紋理貼圖uv?
- 4. 爲什麼常量的值會影響HLSL着色器編譯?
- 5. innodb_log_file_size如何影響性能?
- 6. estimatedRowHeight如何影響性能?
- 7. 使用HLSL幾何着色器
- 8. HLSL幾何着色器紋理查找
- 9. HLSL幾何着色器空輸出
- 10. 硬編碼HLSL着色器
- 11. HLSL:多通道着色器?
- 12. HLSL着色器的優化
- 13. 統一影響着色器流程和性能
- 14. HLSL像素着色器照明性能(XNA)
- 15. 多通道着色器如何在HLSL中工作?
- 16. 着色器 - CG/GLSL/HLSL如何實現抖動
- 17. C#如何修改着色器中的浮點數(HLSL)
- 18. 我將如何爲Silverlight編寫HLSL斜角着色器?
- 19. 行設計如何影響MySQL性能?
- 20. GraphicsPath.Flatten()如何影響繪圖性能?
- 21. 文件大小如何影響性能?
- 22. 如何確定PerlLogHandler性能影響?
- 23. 加載和使用HLSL着色器?
- 24. HLSL半透明塑料着色器
- 25. 外部發光作爲HLSL着色器
- 26. HLSL着色器(Phong/w法線貼圖)
- 27. HLSL着色器減去背景圖像
- 28. 問題HLSL着色器轉換成shaderLab
- 29. 。用於OpenGL着色器的.HLSL文件
- 30. 如何測試android庫會影響應用程序的性能?
嗯你是什麼意思爲可讀,我指的例子是很短,簡單簡單,更重要的是可以優化... – none
是否推在一個單一的繪製調用中的所有數據?它在每次渲染之前切換渲染狀態嗎?它是否在每次渲染之前優化着色器參數集?根據LOD獲取數據?它是否優化了在像素着色器中執行的計算?像這樣的東西加起來。 – Ani
好吧,我知道這可能會問了很多,但你又能指出1米或2的地方,這個HLSL可以優化用一個例子它會更容易,我開始得到了它的竅門:? 這裏d它是: http://www.text-upload.com/read.php?id=381529&c=1374616 – none