微軟是禍?zhǔn)祝?Intel游戲落敗深入分析
再回到Visual Studio C++,微軟的在線文檔說(shuō)明,使用/ARCH:SSE和/ARCH:SSE2選項(xiàng)編譯后能夠自動(dòng)發(fā)揮SSE/SSE2指令的優(yōu)勢(shì)。這并不意味這對(duì)AMD處理器會(huì)有什么不利影響,雖然理論上Pentium 4處理非閉環(huán)循環(huán)和Pentium 4特殊指令時(shí)比Athlon 64更有效,但在實(shí)際中很少有這樣的情況。
而SSE/SSE2對(duì)AMD也有好處,甚至AMD的前首席技術(shù)長(zhǎng)官Fred Weber也說(shuō)過(guò),單指令多數(shù)據(jù)(SIMD)是浮點(diǎn)運(yùn)算的發(fā)展方向。

(注:?jiǎn)沃噶疃鄶?shù)據(jù)技術(shù)是在一條指令內(nèi)完成多對(duì)數(shù)據(jù)的運(yùn)算,實(shí)質(zhì)上是通過(guò)并行處理來(lái)提高處理器吞吐率。Intel在PentiumII的MMX技術(shù)中,就采用了SIMD,MMX是面向整數(shù)運(yùn)算的,PentiumIII和更新處理器的SIMD技術(shù)是面向浮點(diǎn)數(shù)的。SSE就是Streaming SIMD Extensions的縮寫(xiě),擴(kuò)展SIMD指令流。)
通過(guò)與幾位游戲游戲開(kāi)發(fā)人員交流了解到,他們?cè)诰幾g的時(shí)候?qū)σ恍┛蛇x項(xiàng)非常謹(jǐn)慎,因?yàn)閷?duì)大型軟件這些可選項(xiàng)可能會(huì)導(dǎo)致編譯中斷。不使用編譯選項(xiàng)有制度方面的原因,也有程序員偷懶的因素。他們每周工作80多個(gè)小時(shí),沒(méi)人有功夫去嘗試編譯器的選項(xiàng)。
還有一個(gè)非常重要的因素,就是目前很多游戲都使用了第三方的類庫(kù)和引擎,包括物理引擎、AI引擎、聲音處理類庫(kù)等等。在這種情況下,開(kāi)發(fā)者只優(yōu)化自己的代碼幾乎不會(huì)有什么提高。
如果您是游戲程序員或者中間件開(kāi)發(fā)人員,我們非常希望得到你們的觀點(diǎn)。您在編程的時(shí)候考慮到為所有處理器架構(gòu)做優(yōu)化了么?有沒(méi)有嘗試過(guò)編譯器的選項(xiàng)?為什么?<
關(guān)注我們


