您的位置: 首頁 > 新聞 > 高新技術 > 新聞詳情

老黃與雷總孰強 論虛假宣傳小米比Nvidia還差點

時間:2015-09-05 13:54:54
  • 來源:網易科技報道
  • 作者:landother
  • 編輯:landother

 英偉達和小米能有什么交集和可比性?在業(yè)務方面確實不多,不過在營銷宣傳和所謂的企業(yè)道德方面卻有著高度的相似性。

當然,如果作為消費者的你是上述某家公司的超級粉,在看完標題后急著“護主”卻又沒有耐心讀完余下的“深度分析”,那么小編在此建議你直接跳轉至評論區(qū),用“被打完左臉還要送上右臉”的實際行動,堅定捍衛(wèi)自己“不需要擁有消費者權益”的權利。

另一方面,小編也要給出友情提示:如果你是上述某家公司的競爭對手的超級粉,也請不要急于發(fā)表高論。畢竟,你也是一個消費者,有一天你也可能遭受到同樣的對待。所以,同為“弱勢群體”的我們更應該站在消費者陣營,共同去譴責并規(guī)范當前愈演愈烈的虛假宣傳行為。

事件回放

一家叫Oxide Games的游戲開發(fā)公司于不久前放出了全球首份A卡(AMD顯卡)和N卡(英偉達顯卡)的DirectX 12(后簡稱DX12)游戲性能測試。不過測試的結果一度令很多媒體和用戶都大感吃驚。

其中,最令人驚訝的并不是A卡因為DX12而“煥然一新”,而是相比之下,英偉達的9xx系列旗艦卡卻因為用了DX12,反意外出現(xiàn)“性能倒退”——沒理由啊!DX12可是號稱“更接近硬件底層”的API(編程接口),能更高效地調用硬件資源,因此性能表現(xiàn)只會比早期版本的DirectX更好——這是業(yè)界的共識,包括英偉達自己也如此承認!

可是,測試的結果確實沒有符合英偉達預期,公司方面也遲遲未作出解釋。迫切希望知道答案的用戶只好紛紛給出自己的猜測:一,這只是一款尚未正式發(fā)布的DX12游戲,可能還未成熟;二,兼容DX12的驅動尚未完善,英偉達如此,AMD也是如此;三,Oxide Games是一家AMD支持的游戲開發(fā)公司,從之前的Mantle技術合作就能得知,所以測試結果有偏向性,不具公信力……

其實,第一和第二點猜測都還能被認為是合理的解釋,但唯獨這第三點——質疑一家AAA游戲開發(fā)公司的專業(yè)性——那可就觸及紅線了。

于是,Oxide也終打破沉默,將自己在開發(fā)過程中一直通過郵件與英偉達保持交流的事實公開……將英偉達一直有權訪問游戲源代碼的事實公開……甚至將英偉達在發(fā)現(xiàn)測試結果不合預期后,數(shù)次施壓并要求屏蔽DX12某項核心功能的事實也公開……尤其是在屏蔽DX12核心功能ACE(Asynchronous Compute Engine,異步計算引擎,后半段將有詳解)這個問題上,Oxide更是直言不諱地指出——英偉達第二代Maxwell架構(9xx系列GeForce)根本就不支持ACE,至少是無法做到“原生支持”(Native Support)。

面對這樣的指控,英偉達用戶(除了超級粉)可真坐不住了——不支持DX12最核心功能之一的ACE,豈不就等于不支持DX12嗎?于是,國外主要科技論壇,包括Anandtech、Guru3d以及Reddit等,有關話題的跟帖迅速破千,大量用戶開始聲討英偉達,要求官方必須給出解釋。

然而,英偉達的官方聲明還沒等到,AMD的全球技術營銷主管Robert Hallock卻出現(xiàn)在Reddit上“添油加醋湊熱鬧”。

Hallock先是表示,自己在看到Oxide的測試成績后也有過類似懷疑,即:Maxwell架構是通過“環(huán)境切換”(context switching)的方式來實現(xiàn)ACE的,此方法效率極低,因此無法做到真正意義的“異步計算”(文后解釋,看不懂不要急)——這言下之意就是,N卡的DX12是殘缺的,至少在ACE這個功能上沒有做到“完全支持”。

不得不說,這是一次成功的“火上澆油”,只不過火勢蔓延太快,連Hallock自己都有些驚惶不安——N粉和A粉在Reddit論壇上即刻展開對撕,場面一度有些失控。情急之下,Hallock只好補上一句:“沒有誰家的產品能完美支持DX12,英偉達如此,AMD也是如此”——希望能借此為整個事件打個圓場……

再然后,我們就看到了《AMD:當前沒有什么可完美支持DX12》的新聞充斥在各大科技媒體的頭條……

AMD和英偉達的恩怨其實不是小編要在這里講述的內容,如果A粉和N粉要對撕,請三思后繞道而行。接下來,小編將花些篇幅講解DX12的技術細節(jié),其中包括本文一再提到的ACE的概念,因此可能會很乏味,不喜者可忽略之。

DirectX 12的技術淺析

大談專業(yè)技術內容通常不會獲得網友的理解,所以小編在此會盡量簡化細節(jié),一些不恰當?shù)谋扔鬟€望專業(yè)人士指正。

DX12與以往任何版本的DirectX都不同。這種不同并不在于提供了更多的功能性特效,譬如光影特效、水波紋特效等,而是在于將實現(xiàn)這些特效的方法放到了GPU的硬件層去執(zhí)行,正所謂“DX12是低級別API”的原因。注意,這里的低級和高級并不指“好壞”,級別越低,代表越接近硬件底層,因此執(zhí)行起來效率高,但編寫時代碼特別長。

因為把“功能下放到硬件層”去實現(xiàn),DX12自然就會對GPU的硬件規(guī)格(或者說資源規(guī)模)有要求,因此我們又看到了微軟根據(jù)GPU能提供的硬件資源規(guī)模,對每一項DX12的功能都給出了Tier 1、Tier 2和Tier 3三個級別分類,以表示該GPU對該項特性的支持程度(級別越高表示支持越好,但級別低也算是支持)。

聽起來有點拗口難懂?沒關系,我們換個角度來簡單說明一下。不管AMD還是英偉達,在一顆GPU上能使用的晶體管總數(shù)是有限的,所以想要把有限的資源“完美”分配給每一項DX12規(guī)范的功能,幾乎是不可能完成的任務(當前技術下)。這就好比我們只有3000元來配置新電腦,是買好一點的CPU,還是好一點的顯卡,還是大一點的硬盤,還是快一點的SSD?這都需要進行取舍,而取舍的結果將會決定該電腦擅長的領域,譬如較好的顯卡有助于提升游戲性,大容量硬盤則可用于專業(yè)的NAS服務等。

那么,AMD和英偉達又各自做了哪些取舍?

AMD從第一代GCN架構開始,將大量的晶體管投入到了實現(xiàn)Asynchronous Compute Engine(異步計算引擎)上。所以,A卡號稱擁有64+1個完整的ACE。

相比之下,第二代的Maxwell架構將大量晶體管用在了實現(xiàn)Conservative Rasterization(保守光柵)和Raster Ordered Views(光柵順序視圖)兩項功能上。因此,N卡的ACE只有31+1個——注意,這只是官方數(shù)據(jù),其真實性還有待考證,這也正是引出本期《易評》的焦點所在。

當然,以上只是一部分晶體管的分配情況和一部分DX12規(guī)范下的功能。但也就這一小部分差別,今天在互聯(lián)網上引發(fā)了劇烈的質疑和討論。

AMD說自己也不完美支持DX12,其所指正是上述的Conservative Rasterization和Raster Ordered Views兩項功能。此兩項功能在DX12標準下為“可選擇項”,是不要求必須實現(xiàn)的。不過,英偉達已經支持了,盡管有的只是Tier 1的支持(AMD兩項均為零支持),所以微軟又制訂了DX12.1規(guī)范,即下個升級版的DX12將會開始要求支持Conservative Rasterization和Raster Ordered Views——這也是為什么英偉達一直標榜自己產品是DX12.1標準的原因。

(圖1:DirectX 12和12.1規(guī)格要求)

不過諷刺的是,ACE可是DX12規(guī)范下必須支持的核心功能。英偉達在宣傳中號稱支持該功能,但實際測試卻發(fā)現(xiàn),所謂的支持可能僅僅是通過“驅動層模擬”(emulated)來實現(xiàn)的,而并非是大家所期待的架構層原生支持。除了Oxide和AMD先后提出相關質疑外,beyond3D論壇上的專業(yè)網友也通過多次針對性測試得到了類似結論——特別值得一提的是,此前GTX 970被曝出的“只有3.5GB有效顯存”的問題,也是經過beyond3D網友多次測試后發(fā)現(xiàn)。

根據(jù)這些網友和專業(yè)人士的解釋,英偉達實現(xiàn)ACE的方式應該是依賴了大量Preemption(搶占式多任務)和“環(huán)境切換”操作。簡單地說,就是GPU在進行異步計算時,需要先暫停當前正在處理的任務,以騰出資源來處理優(yōu)先插入的數(shù)據(jù)。這一過程,通常會產生大量的閑置(Idle)。同時,“環(huán)境切換”在存儲和重建任務上極為低效,這更進一步增加了處理的延遲。

換用更通俗一點的比喻來說,英偉達實現(xiàn)ACE的方法就好比有交通燈的大道,側道車輛如果要并入主道,主道車輛就必須先停下來,并等待紅燈再次變綠。相比之下,如果是從架構層實現(xiàn)ACE,就相當于在一條自由寬松的高速公路上,讓車輛自由并入主干道,整個交通無需通過紅綠燈來控制。

英偉達這種通過“驅動模擬”實現(xiàn)的ACE到底算不算真正支持?目前還沒有一個權威定論。不過小編在這里大致說一下DX12是如何“弱化”驅動的,然后大家自己就會有答案了。

傳統(tǒng)高級別API下,一款游戲或者一個3D繪圖應用在調用Draw Calls時(可理解為向GPU發(fā)出指令讓其在屏幕上繪出一個或多個指定圖形)通常會經歷以下過程:來自應用程序的指令先是被“翻譯”給DirectX,然后再被“翻譯”給顯卡驅動,再然后還要“翻譯”給系統(tǒng)內核接口,最后才“翻譯”給GPU去執(zhí)行……整個過程冗長且低效,但好處是“顯卡驅動”可以有很大發(fā)揮空間——“AMD驅動不如英偉達,尤其是游戲表現(xiàn)上”的說法就是來自于此了。

DX12出現(xiàn)后,所有中間層的“翻譯”工作就被取消了,游戲開發(fā)商可以直接通過API與GPU進行溝通。這不僅只是效率高了,開發(fā)者自由發(fā)揮的空間也大了(任意分配GPU資源到需要的地方),然而缺點是使用難度也提高了。

那么,會不會出現(xiàn)游戲開發(fā)者抵制DX12,或者遲遲不用DX12的現(xiàn)象?可能性極低。因為“低級API”一直是游戲開發(fā)社區(qū)所呼吁的,當年DirectX的低效和復雜已被太多人詬病。游戲主機曾經之所以風靡,部分原因就是因為開發(fā)環(huán)境的友好和高效成就了大量的經典。更何況,DX12正是一款衍生自游戲主機平臺的API接口。

技術部分談完了,英偉達第二代Maxwell是否算支持DX12的架構,恐怕每個人心中都有不同的答案。小編只想說,不是每個消費者在購買一款產品時都只看跑分的,國產手機跑分普遍高,可罵的人少嗎?如果當初就是沖著DX12才買的英偉達顯卡,如今卻看到滿世界”模擬支持“的質疑報道,不知此刻的心情會是怎樣?要知道,這已經不是英偉達的初犯!

英偉達已不是初犯

也許,對于英偉達的“真假DX12”還尚存爭議,那么在今年初,經由官方公開承認的“作假”,終歸能算作是鐵證了吧?

不少網友應該都還記得,今年1月份,同樣是英偉達第二代Maxwell架構的GTX 970顯卡被曝出只能有效使用3.5GB顯存的bug,而這還不是唯一一處“虛假宣傳”。

在網友進一步挖掘之后,英偉達官方承認,除了4GB顯存實際只能有效利用3.5GB外,GTX 970的ROP(渲染輸出單元)也不是包裝盒上顯示的64個,而是56個。此外,二級緩存也只有1.75MB,而不是完整的2MB。

(圖2:規(guī)格更改前后對比)

“造假”曝光后,一些超級粉以“反正性能沒有損失”為由來自我安慰,最終讓英偉達冠冕堂皇地將丑聞不了了之——不過國外市場因為法律的完善,使得零售商和英偉達官方都不敢怠慢,隨即宣布將無條件接受退貨。而反觀國內市場,一方面是因為沒有這種傳統(tǒng),另一方面是消費者自己也不懂得維權,使得零售商沒有壓力,英偉達也就更加懶得發(fā)表任何公開聲明,以彌補過失。

小編不否認Maxwell是優(yōu)秀的架構,也不否認GTX 970是市場上很有吸引力的一款產品。但是宣傳規(guī)格與實際不符,就是對消費者的欺詐,是企業(yè)道德的淪喪,是公然的違法違規(guī)。

小編還不能理解的是,如果是一家國產企業(yè)作假,估計祖上十八代都已被網友罵得“狗血淋頭”??蓳Q作一家外企公然玷污市場規(guī)則時,我們的消費者不但不抗議,反而還以“跪舔”之態(tài)絞盡腦汁為其辯護。

所以說,小米在“馴養(yǎng)忠實粉絲”的能力上遠遜于英偉達。不就是屏幕出廠品牌與宣稱的不符嘛,但起碼分辨率等硬性指標還是一致的,結果就引來了各種“專家”的點評了……小編可不是要幫小米申冤(強烈建議發(fā)起集體訴訟,賠死了活該,市場就應該對這種不規(guī)范行為嚴懲),只是站在英偉達的角度看這個問題會“睡覺都在笑”——我們在同一代產品里都已經四次假宣傳了,也沒有哪個大V站出來說什么啊,中國人太友善了!

不知道我們的大V們是真心不懂,還是只“對內服務”,也或者是小編太牛X了,做了專家和有關部門應該做的活。

0

玩家點評 0人參與,0條評論)

收藏
違法和不良信息舉報
分享:

熱門評論

全部評論

他們都在說 再看看
3DM自運營游戲推薦 更多+