Re: [請益] 關於顯卡&API的一堆問題

作者: a27417332 (等號卡比)   2015-01-11 15:38:12
※ 引述《lovesnake (LoyalDog)》之銘言:
一樣是個人看法,有錯煩請指證@@
: 1. 為什麼DX還活著?
: 現今無論Web、Mobile、Linux、Mac OSX,都採用OpenGL作為其Graphics API,
: 為什麼DX還能頑抗至今呢? 純粹是因為Windows不想放棄他嗎?
這種比較的話題陳腔濫調,所以想必你應該有看過,D3D9引入HLSL後,就開始甩開OpenGL
好幾條街,是一直到OpenGL 4之後,後者的功能才開始急起直追,一直到現在趕上DX11。
所以中間那段過程,大家優先採用DX應該也是能夠被理解的事。而現在的話,應該會發現
已經有越來越多引擎商開始支援OpenGL,就連CRYENGINE都有了Linux版本。由此可見其實
現在OpenGL已經逐漸扳回頹勢。
而其他繪圖平台大部分都是類似OpenGL的最大原因就是因為他是另一個知名的公開標準,
DX是只有給Windows的。所以個人覺得是根本沒得選XD(遊戲主機的話就可以自製,畢竟
要壓榨性能的話實在沒有需要遷就抽象層)
: 2. 是API遷就顯卡還是顯卡遷就API?
: API是在設計的時候,考慮現今的顯卡架構去設計。
: 還是顯卡在設計的時候,考慮現有的API在做設計呢?
個人認為是互相,像其實最近大家都在推廣降低驅動瓶頸,採用bindless和cmd buffer等
,由此可知最近幾年是因為API的陳舊設計影響了速度。不過縱使API是舊的,但實際上底
下的硬體也一直在翻新,所以我個人認為只要不是太特殊的硬體功能,其實只要寫驅動的
人搞得出來,實際上這兩者是可以被降低耦合的。
又,基本上寫API的也都會跟顯示卡廠商合作,所以標準都是他們互相商討的,應該是沒有
甚麼主要是誰帶動誰的問題。(不過個人認為像是OpenGL說不定偏向委員會被廠商牽著走?)
: 3. Geometry V.S. Tessellation
: Geometry Shader 是只管一個Primitive ,Tessellation有考慮鄰居。
: 這樣的理解對嗎?
嗚這邊我也不太熟,但我剛剛隨便查了一下感覺應該是這樣@@這邊可能得請教其他有經驗
的大神。
: 4. NVidia & ATI 哪個對OpenGL的Support較好?
: 謝謝~
個人看討論區文章下來感覺是N家...老實說OpenGL的驅動部分也是之前很多遊戲廠商顧忌
的一部分。感覺N家很賣力地推廣OpenGL的實用拓展,所以卡馬克才說如果用上那些拓展,
將能夠營造出媲美Mantle的速度。
不過麻煩也出在拓展,同樣的功能,有的舊顯卡可能支援D3D卻不支援OpenGL,考慮到支援
範圍,立刻OpenGL又被犧牲了...像我之前只是找個某個功能,OpenGL要到4.0後才有,但
顯示卡只支援到3.3,D3D10有該功能,而那張顯示卡恰好支援到D3D10......這種拓展
地獄感覺跟當初D3D9的caps地獄有點像(?)
基本上現在剛好是API改朝換代的時刻,OpenGL又宣布了NG計畫(感覺從名字上就有點想要
重蹈覆轍的意味? XD),D3D12也打算在今年與新版視窗一起發布(但願不要捨棄W7),還有
從去年說要公布SDK結果跳票的Mantle。所以我覺得情勢說不定又會有另一波的更動,個
人是還蠻期待他們的發布的。

Links booklink

Contact Us: admin [ a t ] ucptt.com