簡體   English   中英

我應該總是在OpenGL中對所有紋理使用GL_ARGB格式嗎?

[英]Should i always use GL_ARGB format for all textures in OpenGL?

這一直困擾我一段時間......真的很難看到性能上的任何差異,所以我在這里問:

如果我的圖像不使用alpha通道,我應該使用'GL_RGB'將它們保存在GFX卡存儲器中,還是'GL_ARGB',就好像處理完整的32位塊一樣會更快?

或者GFX卡會自動將24位圖像轉換為32位圖像以增加渲染時間嗎?

編輯:我沒有性能問題,但我只是想以最好的方式做到這一點! 我還想確保該程序在舊顯卡上表現良好,不需要像新卡一樣優化事物。

選擇適合紋理數據的格式 ,讓視頻卡驅動程序擔心細節。 不要試圖超越它。 OpenGL實現經過了很好的優化,可以為您提供所有必要的決策,以獲得最佳性能,無論是將所有紋理轉換為32bpp還是其他內部格式。

如果您發現性能問題,請使用gDEBugger之類的工具來解決性能瓶頸問題。 紋理格式不太可能是一個瓶頸。

編輯:如果問題只是內存壓力,那么你有太多紋理太大。 就那么簡單。 使用壓縮,使用質量較低(每個通道較少的位數)紋理,或使用較小的紋理。

如果您關心內存使用,請嘗試紋理壓縮:

很難給出一個可以使用的一般建議。 嘗試適用於紋理格式的那些(RGB紋理不適用於RG壓縮)並仔細查看最終的視覺質量。

暫無
暫無

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

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