PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   顯示卡討論區 (https://www.pcdvd.com.tw/forumdisplay.php?f=8)
-   -   請對顯卡和3D技術有深入了解的網友進來一下 謝謝 (https://www.pcdvd.com.tw/showthread.php?t=403600)

Luger 2004-10-28 03:34 PM

請對顯卡和3D技術有深入了解的網友進來一下 謝謝
 
這是我在某論壇看的文章
我自己對3D技術相關方面不是很了解
但我覺的有些地方好像怪怪的
__________________
FPS 衝高不代表一切喔~
ATI 公司有種技術, 把多餘的FPS數, 拿來做畫面的美化.

每次在 render 3d 場景的時後, 要把場景中的三角片送給D3D (或opengl)
減少三角片的數量而不使畫面失真, 是程式設計師的真功夫了.
像 unreal引擎 (天堂二用的那個), 漂漂亮亮的場景, 竟然不到一萬個三角片!
這一隻引擎就可以賣 100萬 USD ( 當然不只這項技術使它值錢 :P )

在場景資料送給 d3d 以後, shader 就上場了.
像那個PF的海浪用 vertext shader 3.0 畫的, 譬如說 大海用vs來畫
大海假設有一千個三角片, 每個三角片的頂點就叫一個vertex.
譬如每個vertex依它的坐標值,shader是每個頂點乘上一個 sin(x), 再乘個sin(y)
一大片平坦的三角形, 新的座標值看起來就像有了起伏~
當然shader 的功能多得很 , 我也只知道皮毛~~
這個部份的速度, programer跟硬體都要負上責任~

shader 跑完後, 3d prgramer的責任就沒了, 剩下就都是d3d 跟繪圖卡的事情了.
每個三角形要算成screen 上的點, 從3D 到2D
screen 上 1024*768 的點的顏色都要算好畫出來,
ATI 的技術可以知道現在FPS 是多少, 跑太快的話, 就用多餘時間幫你做畫面柔和的動作.
基本上跟像素之間的相鄰有關.. 這部份技術我就不太清楚了~

shader 要跑得漂亮得話, 要查看d3dcaps ...
DirectX sdk 裡面有個directx caps viewer, D3D對卡的診斷都寫在裡面,
一個programer 讓電腦跑甚麼等級的shader, 都會先查一下d3dcaps,
一隻program 初始化的時候就會去檢查卡的 capbility ,
不行的就跑次一級的 shader.

基本上卡的caps跟 gpu核心很有關, 核心差不多, caps 也差不多.
時脈再高, caps 沒有, 也是跑次一級的shader.
而fps 超過40 也很浪費, prgramer 有種常用的寫法,
計算這一輪跟上一輪差幾微秒, 差不多就不render 3d 場景了.

好的programer可以改進上述的第一步跟第二步,
好的卡可以改進第二步跟第三步.
譬如說pf 比 fb 場景大好幾倍, 電腦都不會慢,
顯然 3d engine 變強了~~ 昨天第一次玩好感動~~

個人對買卡的建議, 如果gpu 核心差沒有太多, 可以不用追高,
d3dcaps 看起來不會差太多.
如果錢一定要花, 可以考慮買ram大一點的卡, 這樣d3d可以把貼圖跟3d model
放在卡的ram 裡面. 卡的ram 不足, 材質就要壓縮, 或丟在主記憶體裡.


所有的時間均為GMT +8。 現在的時間是05:44 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。