主題: R420之我見
瀏覽單個文章
妞妞
Major Member
 
妞妞的大頭照
 

加入日期: Apr 2004
您的住址: 高雄
文章: 290
Talking

Quake和DOOM之父John Carmack對NV公司針對個別遊戲最佳化的評論

Quake和DOOM之父John Carmack,是一位最偉大的遊戲設計大師,是遊戲工業最出色的設計師,從技術面提到了他對顯卡驅動最佳化的看法。

首先程式的最佳化是要付出代價的,也就是說他們會作出相應的最佳化。一些硬件功能,像Cache和分級化Buffer。可能對某種程式有利,但與此同時又可能對其他的程式不利。

註:這也是我要檢查X800與6800對新遊戲執行後其性能的一個原因。

對于不同的應用,程式設計師可能經常會對命令Buffer進行調節。有得必有失是必然的,其主要體現在速度和圖象品質上,以及一致性上。

在圖象品質上,很多玩家都容易理解,比如ATI的催化劑驅動程式面板中,有一個平衡點,就是調節性能與品質的,NVIDIA也是如此。很大程度上來講,這些都是程式本身無故意要針對誰最佳化的。

但也會有一些有意識的互換,比如ATI催化劑的調節,也就是FSAA和AF,Carmack認為這樣的設計出發點非常的好。這也使得高級顯卡在普通的使用中會更有價值。擁有中低階顯卡的使用者也可以在不同的應用中選擇性的使用。無疑是給消費者提供了一個更實用的功能。

儘管NV和ATI在這方面的技術並不相同。但Carmack指出驅動默認設置應該是一個完全一致性的狀態。在這個領域之下,可以在驅動中根據不同的程序選擇相當的最佳化,來維持使用者對每個程序的可選性。是非常必要的。

但性能和一致性的互換,就都不是無心的了。速度的減慢並不是驅動的錯,因為在退出特定最佳化的路徑之後,驅動並不會檢查一定的結合。當然,這也有不保持一致性的驅動最佳化的方法。Carmack還簡單的舉了個例子,很可能一個驅動選擇忽略存儲顏色值,這就可以節省幾個時脈,但是這時對於glGetFloatv{GL_CURRENT_COLOR, buffer}是不可能的。

Carmack強調驅動最佳化的非一致性---對軟體有辨別性,是永遠不能接受的,至于是不是出于好的目的,並不重要。原因是在測試軟體中的結果並不能保證在未來同類游戲中的執行效果。

而且無論進行什麼樣的互換都要需要增加非常多的程式。

那什麼樣的最佳化才是好的最佳化呢?

Carmack認為,如果程式設計人員有一個非常好的技巧性最佳化辦法,與其運用到針對性的應用中,不如把他單獨做出來,在程式符合的情況下,成為一個面向最終使用者的可選項最佳化。一種面向一個應用域的最佳化,或者是針對一個引擎的最佳化。這才是一種合理的方式。這就是他強調重要的是驅動最佳化要有一致性。

其實很多廠商已經這樣做了。比如我們熟悉的HALF LIFE2的可以針對OpenGL和DX3D的游戲應用操作設計。位許多擁有有不同裝備的購買者帶來了實質性的幫助。但這只是一個游戲廠商,而顯卡廠商則應該用他們的技術對應用中最佳化所能包含的領域來進行設計。

但是這樣的最佳化可能會把許多技術不好的消費者拒之門外,許多消費者根本弄不明白這些設置,就更不會用這些裝置。

希望能成為今後顯卡最佳化的發展方向,一致性的最佳化可能從設計上和技術上來講會很難。而且好的技術層面的點子也不會輕易閃現。但仍然可以考慮到,在重此不重彼的應用環境中為什麼不能使用互換性的最佳化呢?

所以相反的,對針對性的程式進行最佳化,就是完全不可取的了,也可以稱之作弊。只是對這類似評測的軟體進行最佳化,完全是欺騙消費者的做法,很簡單,當購買者滿意最佳化的成績購買回來顯卡的時候,在同樣的機制下卻又無法得到其效果,這能不說是一種欺騙?

曾經有部分人認為可以對現有流行的遊戲進行最佳化,對最佳化的遊戲可以儘量的達到更多,NVIDIA已經開始這樣做了,雖然不符合Carmack的思想,但此行為必然會對使用者帶來好處?並且在技術層面可能會相對簡單一點,但至這樣的做法需要多大的工作量?

面對這麼多的軟體又是否都能保證其最佳化的品質呢?這仍然是一個值得討論的問題?

0000000000

ATI的8500在Q3作弊事件大家可以說嗎。呵呵。我也在看。被罵是要反省的。
     
      
舊 2004-05-08, 05:34 PM #41
回應時引用此文章
妞妞離線中