三星GS4遭網站AnandTech揭發在Benchmark作弊

現在看到韓國人做這種事,都讓人感覺再自然不過了 ...



油漆王 wrote:
作弊本來就是他們的專...(恕刪)


就是笨,笨到幫人數鈔票

笨到被洗腦,分不清楚是非,以為在幫公司阻擋傷害

卻不知是在幫公司傷害其他人...

針對特別程式, 尤其是測速程式, 而改變工作頻率, 就是作弊

以前有一陣子顯示卡廠商蠻喜歡完這種 "優化", 沒想到三星居然也玩起這招, 最丟臉的是還被抓到

pp039773 wrote:

說真的,那些說htc維修經驗差的人,不都是一些疑似護航htc的人拱成熱門文章嗎?
我想htc客服如果更處理得宜,我想如果三星真的要找工讀生
還特別去買htc的機子來維修,還上來Po文雞蛋裡挑骨頭
那我想觀文的人,也會懂是非
無需一堆人在那邊疑神疑鬼

反之,若是Po文的人真的是htc的消費者
這些護航的人一下挑發文者的註冊時間
(這招自從被Taiwansmasungleaks揭露後,還會這麼白目嗎? )
一下又是挑發文者潛水,一下又說沒圖沒真相,沒錄影沒真相...

身為中立者的我看了,都覺得如果我是htc的消費者,
就算修好了,我以後絕不會再使用該品牌
所謂物極必反...

反之,若是讓發文者Po文,不要有人回應他,他自尋解決
或者htc客服幾日後解決,那也不會在熱門文章出現htc品質不良的文章不是?




你都會說Taiwansmasungleaks揭露後,難道你不知道它們會互推至熱門嗎?怎還會這麼說呢?
你看這篇就可以知道了阿,這麼大的事也只有幾隻小貓回應,其他常出現愛回應的都消失了,
不就是他們一貫的處理方式冷處理嗎
我記得不是部分三爽支持者很愛拿分數來說嘴
怎麼現在打臉新聞出來之後都不見了??
給我個理由,憑什麼我拍照片還要拍到你喜歡??你有付我錢?
懂電腦的都知道那個跑分只是好看用的
AMD的CPU速度都跑得很快,熱當也很快
雙四核又如何?散熱差一樣更快熱當而已
我不如拿單四核又不會這麼熱的手機
我還可以笑我單四核都比你雙四核快
原文 連結

很快的翻譯一下,方便各位朋友理解,英文造詣與文筆不佳請海涵,有錯誤請指正。
(轉貼請附免責聲明:
文章翻譯以口語、容易理解為主,如有錯誤概以原始網站為準,本人恕不負任何責任)
http://www.anandtech.com/show/7187/looking-at-cpugpu-benchmark-optimizations-galaxy-s-4

此事件原為一位外國網友AndreiF所發現,後由Anandtech網站深入追查後所得的結果,
供各位參考,理性討論,賣S4的錢不入我口袋,無所謂筆戰的必要,謝謝!

簡單整理文章內容:
1. Galaxy S4手機(高通版和三星Exynos版)會針對跑分程式做特別設定。
2. 開跑分程式後CPU頻率會拉到最高,核心會被全部打開直到結束,即使idle也是。
3. 只要保持跑分程式開啟,CPU的效能是可以被其他應用程式共享。
4. 只有跑分程式下的GPU能上532MHz的最高頻率,所有其他程式都用不到(最高480MHz)。


Galaxy S4對跑分程式的優化



Anand 網站和我終於都拿到了第一代使用Exynos 5 Octa(5410)晶片,國際版本的Samsung Galaxy S4。Anand買到的是國際版本的GT-I9500;我的更酷,是韓國SK Telecom的手機,型號是SHV-E300S,用的是三星自產的SS222 LTE數據機(modem),在美國能使用17頻段 (AT&T LTE)以及band 2, 5 WCDMA頻段,兩個手機都是透過行動電話進口商Negri Electronics拿到的。

對Exynos 5 Octa不熟的人我先簡短介紹一下:這顆晶片整合四個ARM Cortex A15處理器核心(1.6GHz)以及四個ARM Cortex A7核心(1.2GHz),用big.LITTLE的組態整合。繪圖是由PowerVR SGX 544MP3這顆GPU晶片來負責,最高頻率可達533MHz。

我們打算深入研究這支採用ARM Cortex A15手機的功耗以及效能表現,只是有許多雜事讓我們暫時耽擱了下來。

直到最近,Beyond3D論壇中一篇由@AndreiF發的文章喚醒我們的注意,他用一些老掉牙但仍很管用的跑分(benchmarking)技巧,發現三星的GPU只會在執行跑分程式時上533MHz,執行所有其他的app、遊戲時最多只能跑在480MHz。過去這幾週我們一直被許多人催促要看一下這到底是甚麼鬼,以下是我們的發現:

GPU行為

只要用adb執行以下的指令,不須root,我們就可以取得三星的GPU clock:

adb shell cat /sys/module/pvrsrvkm/parameters/sgx_gpu_clk

這個指令是非常有效直接地可以看見硬體的運作狀況,只要用不斷重複地下這個指令,我們就能即時更新各種應用程式下的GPU頻率。

就像@AndreiF說的,跑所有的遊戲,即使是最吃重的也一樣,GPU的頻率都保持在480MHz。當然三星也從未宣稱他的Exynos 5 Octa GPU會跑到最高的頻率,所以現在還沒有人犯規。


跑Epic Citadel - 480MHz

可是當執行GLBenchmark2.5.1時,卻會觸發532MHz的GPU頻率,這是你找遍全宇宙其他角落都得不到的結果。跑安兔兔以及Quadrant也會有同樣的情況。


跑AnTuTu – 532 MHz SGX Clock

可是GFXBench 2.7.0(先前叫做GLBenchmark 2.7.0)卻不會,這實在太有趣了!我們找上GFXBench 的廠商Kishonti,向他們確認,GFXBench和GLBenchmark兩者的測試核心是完全一樣的,兩者執行的結果卻可以看出頻率設定有所不同:

Total System Power GPU 頻率 Run 1 Run 2 Run 3 Run 4 Run 5 平均
GFXBench 2.7.0(GLBenchmark 2.7.0) 480MHz 37.9M Tris/s 37.9M Tris/s 37.7M Tris/s 37.7M Tris/s 38.3M Tris/s 37.9M Tris/s
GLBenchmark 2.5.1 532MHz 43.1M Tris/s 43.2M Tris/s 42.8M Tris/s 43.4M Tris/s 43.4M Tris/s 43.2M Tris/s
增加(%) 10.8% 13.9%


可以看得出來,跑GLBenchmark2.5.1比GFXBench 2.7.0的效能高出11%甚至更多,似乎GLBenchmark 2.5.1被刻意設定在更高的GPU頻率/電壓下工作。

CPU也被影響

原先發表在B3D文章的重點在GPU效能,但我們很好奇CPU效能會不會也受影響。

我用System Monitor 看CPU頻率再跑同樣的測試,跑GLBenchmark 2.5.1時CPU會被切換到ARM Cortex A15的核心,頻率被定在1.2GHz不動,就算只開跑分程式的選單並沒有在跑分,而且CPU也閒置,頻率也不會降下。



然而跑GFXBench 2.7時卻不會如此,CPU是用Cortex A7,以500MHz (250MHz 虛擬頻率)跑,看起來GLB2.5.1像是被特准跑在高效能模式。

很快地檢查一下安兔兔、Linpack、Benchmark Pi、以及Quadrant都有同樣的狀況,只要執行跑分程式,控制器就會將CPU鎖在某個頻率。


使用高通晶片的Galaxy S4版本CPU也有同樣情形,非常耐人尋味。只要執行這些跑分程式,不管loading如何,CPU頻率就會被固定在最高的頻率直到結束,而且全部的核心都會被打開來用。

然而值得注意的是,CPU行為跟我們看到的GPU行為稍有不同,只要開了這些跑分程式,CPU就被強制設定在最高的頻率(而且高通的Snapdragon所有核心都會被啟動),基本上所有apps都能享有好處,可是只有那些跑分程式可以用到532MHz的GPU。

更深入的探討

目前看來那些跑分程式能上比較高的GPU頻率似乎是很主觀的,像是安兔兔、GLBenchmark 2.5.1和Quadrant的CPU頻率被固定在最高,GPU也跑上最高的532MHz,GFXBench 2.7和Epic Citadel卻沒有這樣設定,我明查暗訪終於找到TwDVFSApp.apk這個應用程式,可以更改DVFS來設定不同頻率。用16進位表示法編輯器(hex editor)打開檔案,找到以下的字串(或者執行.odex檔案中的字串指令也可),可以發現那些預設的跑分程式字串看起來像是被寫死在檔案裡,其中” BenchmarkBooster”這個字串特別暗藏玄機:



在反白的部分可以找到那些特定的Android java命名規則,Quadrant standard、advanced、professional、linpack (free, not paid)、Benchmark Pi還有安兔兔在程序中都被特別呼叫,雖然沒看見GLBenchmark 2.5.1,但行為也差不多。

我們可以看TwDVFSApp執行時會需要那些檔案:

//sys/class/devfreq/exynos5-busfreq-int/min_freq
//sys/class/devfreq/exynos5-busfreq-mif/min_freq
+/sys/class/thermal/thermal_zone0/boost_mode
2/sys/devices/platform/pvrsrvkm.0/sgx_dvfs_min_lock

如果TwDVFSApp 給哪個應用程式特別的DVFS狀態,boost_mode檔案的值會從0變成1,因此我們很容易可以知道誰受到影響。比如說,開啟然後關閉Benchmark Pi:

shell@android:/sys/class/thermal/thermal_zone0 $ cat boost_mode
1
shell@android:/sys/class/thermal/thermal_zone0 $ cat boost_mode
0

Fusion3(高通Snapdragon版本)和Adonis(三星Exynos版本)各有不同字串:

doBoostAll
doBoostForAdonis
doBoostForAdonis::
doBoostForFusion3
doBoostForFusion3::

更有趣的是,對於那些不在名單當中的跑分程式,TwDVFSApp似乎也給了個架構

6Lcom/sec/android/app/twdvfs/TwDVFSBroadcastReceiver$1;
6Lcom/sec/android/app/twdvfs/TwDVFSBroadcastReceiver$2;
?Lcom/sec/android/app/twdvfs/TwDVFSBroadcastReceiver$IntentInfo;
4Lcom/sec/android/app/twdvfs/TwDVFSBroadcastReceiver;
boostIntent
5com.sec.android.intent.action.DVFS_FG_PROCESS_CHANGED
*com.sec.android.intent.action.SSRM_REQUEST

因此我們不僅可以測試那些程式受到影響,也可以看到名單當中列的程式,以及TwDVFSApp 如何給予某些程式特殊的DVFS狀態。

這發現有甚麼重要/啊然後呢?

這些對我們(AnandTech)不會有甚麼致命的打擊,因為我們沒用安兔兔、BenchmarkPi或者Quadrant,而且當2.7版出來之後,GLBenchmark 2.5.1就不用了(我們老早也放棄Linpack),其他的項目也不會被Exynos 5 Octa的CPU和GPU動的手腳影響。但是倘若你想拿那些被影響的跑分程式來評比Exynos 5 Octa版本的Galaxy S4,就要特別留意別被誤導了,因為這個設定根本只為了讓CPU/GPU跑分得到 (並且可以一再重複) 高分。

很早之前我們就說過,行動通訊產業會複製PC產業的過程,所以這種手腳一點也不令人意外,但不能說以前有人做過,現在發生就是應該的。

有趣的是這跟GPU製造商在FurMark裏頭做的事情正好相反:FurMark是一個壓力測試程式,用讓手機狂吃電方式操它,為了避免打game時手機過熱(同時避免讓沒有過熱保護的顯卡受到傷害),GPU廠商常會設個GPU頻率上限(註:也就是為何平常只跑480MHz)。在行動設備的世界同樣事情也在上演,不過要發現這些詭異的事情是個困難。

接下來三星該做的,是將超頻的設定打開來供所有使用者/應用程式來用(例如給個選單可以設定CPU跑在高效能模式,以及解除GPU 532MHz的封印),不然就該把這種偷搞優化的手腳全拿掉。如果我們對這事保持沉默,甚麼都不做,將會讓更多的時間與精力被徒然浪費在增加跑分,而不是用在改善增進使用者體驗方面。追求更好的體驗是最重要的根本,如果達到,跑分好看會是必然,其他若是沒有因此受惠的就不是很重要的。


八月二十 wrote:
其實我覺得超頻並不算...(恕刪)


它只在"跑分"時超頻
平時卻沒有自動超頻
為何不算作弊?
有圖加分

用心解說加分

文字內容淺顯易懂,

三星用心照然若揭.HTC真的該加油...原來M01上允許作幣的人這麼多..

支持三星大聲的人很多,但作弊新聞一出,全都安靜默許,看來HTC真的很弱,連作弊也不懂,

連寫個程式讓使用者跑分作弊自爽一下也不會,HTC加油好嘛?

以為大陸人說的..台灣最美的..不是風景...原來都錯了...台灣人的良知跟道德...其實也早就一乾二淨了
這間公司會搞出這種手段,一點都不讓人意外!
這下鐵證如山,又再一次被國際認證而已!
關閉廣告
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 22)

今日熱門文章 網友點擊推薦!