亞洲市場(chǎng)正在興起的對(duì)面向圖形" title="圖形">圖形電子游戲的狂熱,正刺激著對(duì)下一代具有復(fù)雜3D" title="3D">3D圖形功能手機(jī)" title="手機(jī)">手機(jī)的巨大需求。本文通過(guò)詳細(xì)介紹3D圖形技術(shù)在手機(jī)中應(yīng)用的技術(shù)挑戰(zhàn)、3D圖形API標(biāo)準(zhǔn)以及開(kāi)發(fā)商將面臨的技術(shù)競(jìng)爭(zhēng),幫助工程師了解3D圖形技術(shù)的應(yīng)用現(xiàn)狀,分析存在的技術(shù)挑戰(zhàn)和可能的技術(shù)競(jìng)爭(zhēng)。
僅在兩年前,手機(jī)還只提供基本的2D位圖圖形游戲作為附加功能,正如可發(fā)送短信的手機(jī)幾年前才出現(xiàn)一樣。手機(jī)游戲功能在亞洲國(guó)家開(kāi)始流行,且消費(fèi)者很容易即被下一代彩屏手機(jī)所吸引。用戶很快便開(kāi)始希望能在其手機(jī)上玩更高性能的游戲。手機(jī)制造商們也順勢(shì)推出利用高級(jí)圖形特性(每像素16位彩色及有限圖形加速能力的QVGA分辨率彩屏)以及更復(fù)雜及交互式游戲的手機(jī)。隨著性能的提高,亞洲面向圖形手機(jī)的發(fā)展速度比世界其他任何地方同類手機(jī)的發(fā)展速度都要快。
現(xiàn)在出現(xiàn)了3D圖形功能,第一階段是通過(guò)軟件來(lái)引入3D圖形功能。這要求極大地提高處理器性能,但某些操作仍具有很大的性能局限,且高度復(fù)雜的交互式特性還不可行。去年,尤其是去年下半年,市場(chǎng)上開(kāi)始出現(xiàn)帶基于硬件、真正3D圖形功能的移動(dòng)設(shè)備。但在世界其他很多地方,人們?nèi)孕拇嬉蓱]:對(duì)于一種普通的語(yǔ)音通信設(shè)備,為什么需要彩屏,而且還要給它加上2D/3D圖形功能?用手機(jī)玩高級(jí)電子游戲可能很快會(huì)在歐洲流行,過(guò)兩年也會(huì)在美國(guó)流行。在西方國(guó)家,對(duì)連接互聯(lián)網(wǎng)、無(wú)線上網(wǎng)、GPS服務(wù)以及內(nèi)置相機(jī)、多媒體消息、移動(dòng)視頻、MP3播放以及游戲等應(yīng)用感興趣的高端用戶正在增加。
但一種可以理解的謹(jǐn)慎觀念開(kāi)始在移動(dòng)電話行業(yè)中蔓延:盡管游戲依靠3D圖形、或?qū)嶋H上是3D圖形使性能更高的手機(jī)游戲成為可能并推動(dòng)未來(lái)的手機(jī)更換市場(chǎng),但這并沒(méi)有絕對(duì)的把握,畢竟游戲只是手機(jī)這一語(yǔ)音通信設(shè)備的一項(xiàng)附加功能。目前,市場(chǎng)上已有好幾種采用各種不同架構(gòu)并帶3D圖形功能的第一代手機(jī),其中有些聲稱具有較低的功耗,而其他則宣揚(yáng)更好的視覺(jué)效果或特定功能特性。但總體而言,它們?cè)谛阅芑蚬δ苌喜o(wú)多大差異。
面臨的技術(shù)挑戰(zhàn)
創(chuàng)造對(duì)高級(jí)特性的需求還只是移動(dòng)設(shè)備制造商所面臨挑戰(zhàn)的一個(gè)方面。利用更強(qiáng)大的處理能力來(lái)處理并操作靜止及活動(dòng)圖像數(shù)據(jù)的任務(wù),再加上額外的存儲(chǔ)資源且不增加設(shè)備的體積和重量,這在技術(shù)上來(lái)講并非易事。若再加上至少保持或更理想地提高電池的待機(jī)時(shí)間,技術(shù)挑戰(zhàn)將變得極其嚴(yán)峻。
而此時(shí)專用視頻游戲市場(chǎng)中的圖形技術(shù)也已經(jīng)大大向前發(fā)展。對(duì)于此類設(shè)備,尤其是基于控制臺(tái)的設(shè)備,對(duì)將強(qiáng)大處理能力以及專用游戲引擎放進(jìn)狹窄空間中的壓力并不大。功耗仍是便攜式游戲設(shè)備的一個(gè)問(wèn)題,盡管它們常常擁有足夠的空間來(lái)容納其他硬件,如復(fù)雜3D圖形芯片組及加速器等。但雙屏、觸摸屏、交互性以及處理大量像素的能力,將會(huì)使手機(jī)成為任天堂及索尼等游戲機(jī)公司所面臨的新威脅。
要將任何接近這些性能的東西集成在移動(dòng)電話中,要求對(duì)手機(jī)的架構(gòu)進(jìn)行全新的考慮。大約6小時(shí)的電池使用時(shí)間對(duì)于游戲機(jī)來(lái)說(shuō)至少還能接受,但對(duì)于移動(dòng)電話,即使有這兩倍的時(shí)間也不夠。鑒于此,大多數(shù)手機(jī)設(shè)計(jì)者都采用增加處理能力、核心CPU單獨(dú)工作等能減少設(shè)備功耗的方案。
然而,移動(dòng)電話還受到空間的壓力,必須以最小的硅(硬件)開(kāi)銷來(lái)增加其他功能。即使采用第一種彩屏,處理及傳輸像素的任務(wù)仍需要一些理解像素空間的協(xié)處理器或?qū)S肈MA引擎。今天,盡管已有相當(dāng)多基于DSP的芯片與內(nèi)核、圖形加速器、專用協(xié)處理器、圖形引擎以及軟件解決方案可用,但如何實(shí)現(xiàn)仍很關(guān)鍵。架構(gòu)、軟硬件劃分以及系統(tǒng)級(jí)芯片(SoC)或芯片組等決策,需在設(shè)計(jì)過(guò)程的前期制定并且非常關(guān)鍵。而制造成本只能靠大批量生產(chǎn)來(lái)分?jǐn)?,后期設(shè)計(jì)變更大大增加成本,變更造成的項(xiàng)目延期則會(huì)冒喪失主要市場(chǎng)及盈利機(jī)會(huì)的風(fēng)險(xiǎn)。
圖形功能并不是一項(xiàng)后增加的功能,而是與顯示有關(guān)的所有操作的一個(gè)完整組成部分,集成并驗(yàn)證這種復(fù)雜電子電路需要投入大量的工作。專用平臺(tái)的出現(xiàn)對(duì)手機(jī)開(kāi)發(fā)商來(lái)說(shuō)意義重大,因其能方便設(shè)計(jì)再利用,同時(shí)節(jié)省大量設(shè)計(jì)時(shí)間與驗(yàn)證工作。3D圖形功能是一種最成功的應(yīng)用子系統(tǒng)實(shí)現(xiàn),尤其是它采用了可執(zhí)行一些特殊功能(不容易通過(guò)通用處理平臺(tái)來(lái)實(shí)現(xiàn)的)的專用加速器。
3D圖形API標(biāo)準(zhǔn)--Open GL-ES
移動(dòng)電話行業(yè)需要游戲開(kāi)發(fā)商的支持以確保有價(jià)格適中的游戲供用戶選擇,這其中一個(gè)潛在的難題是需要有應(yīng)用編程接口(API)在處理硬件、軟件及圖形引擎間進(jìn)行通信。移動(dòng)電話業(yè)已經(jīng)富有遠(yuǎn)見(jiàn)地避開(kāi)了PC 3D游戲市場(chǎng)早期所走過(guò)的彎路,當(dāng)時(shí)各種專用API引起了不必要的競(jìng)爭(zhēng)及沖突。主要手機(jī)制造商、芯片供應(yīng)商、圖形引擎及軟件提供商、游戲開(kāi)發(fā)商以及基礎(chǔ)設(shè)備開(kāi)發(fā)企業(yè)等,都很快便看出這一潛在的問(wèn)題,并進(jìn)行廣泛的合作/協(xié)作來(lái)共同保證從一開(kāi)始便采用一致的API。
作為移動(dòng)3D圖形行業(yè)標(biāo)準(zhǔn)的Open GL-ES的出現(xiàn),避免了手機(jī)制造商由于互不兼容的游戲軟件格式而導(dǎo)致無(wú)謂的市場(chǎng)競(jìng)爭(zhēng)。Open GL-ES源自臺(tái)式機(jī)市場(chǎng),且特別容易縮放,并已經(jīng)剝離了原有的一些不必要功能,因而能以更小的占板面積來(lái)實(shí)現(xiàn)。
Open GL-ES已經(jīng)獲得了廣泛的行業(yè)支持,不僅得到了手機(jī)制造商及器件與內(nèi)核提供商的支持,同時(shí)也獲得了圖形引擎、游戲開(kāi)發(fā)商以及操作系統(tǒng)供應(yīng)商的支持。更重要的是,盡管Open GL-ES是一種低級(jí)的API,但完全能作為Java游戲環(huán)境中J2ME應(yīng)用程序更高級(jí)JSR 184 API的補(bǔ)充。
現(xiàn)在,行業(yè)的專家們正在開(kāi)發(fā)Open GL-ES 2.0,他們是一些了解市場(chǎng)及硬件局限以及能正確評(píng)估開(kāi)發(fā)用于未來(lái)應(yīng)用的軟硬件所需資源的人士。第二代手機(jī)可能今年會(huì)進(jìn)入設(shè)計(jì)階段,且一年后便會(huì)有新產(chǎn)品推出-盡管這很大程度上依賴于用戶對(duì)第一代產(chǎn)品的接受度。屆時(shí)這些手機(jī)將大量上市,并預(yù)計(jì)將發(fā)布Open GL-ES 2.0,以準(zhǔn)備開(kāi)發(fā)第三代帶3D圖形功能的手機(jī)。
面臨的技術(shù)競(jìng)爭(zhēng)
真正的“技術(shù)競(jìng)賽”將從第二代具有3D圖形功能的手機(jī)開(kāi)始。廠商們將在純技術(shù)性能方面展開(kāi)前所未有的競(jìng)爭(zhēng),特別是一旦API標(biāo)準(zhǔn)完全確立后就將幾乎沒(méi)有什么分歧。一些人認(rèn)為,手機(jī)制造商應(yīng)避免過(guò)快地?cái)U(kuò)展其平臺(tái)以及創(chuàng)建一些其專有的擴(kuò)展,行業(yè)必須確保Open GL-ES標(biāo)準(zhǔn)API隨市場(chǎng)一起發(fā)展。
事實(shí)上,Open GL-ES路線圖已經(jīng)確立,而且人們已開(kāi)始著手制定Open GL-ES 2.0。雖然目前的API是基于狀態(tài)機(jī),但對(duì)于第三代手機(jī)來(lái)說(shuō),它必須發(fā)展成為基于Shader(著色引擎)的標(biāo)準(zhǔn)?,F(xiàn)在,API基于固定功能管線(pipeline),這種固定功能管線可以根據(jù)當(dāng)前渲染條件來(lái)啟用或禁用某些功能,它使廠商能根據(jù)吞吐量、像素?cái)?shù)量及類似功能來(lái)制造不同的手機(jī)。
通過(guò)Open GL-ES 2.0,人們可對(duì)圖形管線中的某些元素進(jìn)行編程,從而使內(nèi)容開(kāi)發(fā)商能夠精確定義如何處理頂點(diǎn)(vertex)或像素。這能采用程序性算法以使代碼性能依賴于實(shí)現(xiàn),因此不僅能為供應(yīng)商提供更大的特性集與性能創(chuàng)新空間以及更大的差異化(尤其在視覺(jué)質(zhì)量及效果方面),而且還能為開(kāi)發(fā)商保留一個(gè)公共平臺(tái)。
與使用較大顯示屏的桌面或控制臺(tái)游戲機(jī)市場(chǎng)相比,圖形子系統(tǒng)開(kāi)發(fā)商必須重新審視移動(dòng)電話市場(chǎng)。手機(jī)2.2英寸顯示屏的像素密度遠(yuǎn)高于筆記本電腦屏幕的像素密度。新出現(xiàn)的2.5英寸顯示屏很可能擁有高達(dá)每英寸400像素的密度,這是當(dāng)前像素密度的兩倍。因此,利用大量多邊形及快速多邊形速度來(lái)獲得高分辨率圖形的傳統(tǒng)方法幾乎完全不適用。聰明的設(shè)計(jì)者將把目光投向那些用于光照及顯示的更高級(jí)(但基于更粗糙模型的)技術(shù)上。區(qū)別在于像素質(zhì)量以及可用于這些像素的高端處理數(shù)量(其指標(biāo)為每頂點(diǎn)每秒操作數(shù)及每像素每秒操作數(shù))。開(kāi)發(fā)商計(jì)劃通過(guò)這種方法不僅能提供以前只有通過(guò)數(shù)百萬(wàn)多邊形才能達(dá)到的畫(huà)面質(zhì)量,而且還不突?處理器性能、存儲(chǔ)器容量及功耗指標(biāo)。
計(jì)劃中的Open GL-ES標(biāo)準(zhǔn)發(fā)展,不僅為整個(gè)移動(dòng)3D圖形市場(chǎng)提供了清晰的路線圖及穩(wěn)定的增長(zhǎng),而且也為廠商提供了一個(gè)健康競(jìng)爭(zhēng)的市場(chǎng)。預(yù)計(jì)今后幾年內(nèi),隨著開(kāi)放標(biāo)準(zhǔn)的發(fā)展,移動(dòng)3D圖形技術(shù)將擴(kuò)展至許多別的平臺(tái)及市場(chǎng),包括汽車與航空電子設(shè)備等。
緊湊的3D圖形解決方案
今天,一種最流行的面向移動(dòng)設(shè)備平臺(tái)的3D圖形解決方案是由ARM公司開(kāi)發(fā)的PowerVR MBX圖形加速器系列。該產(chǎn)品由ARM與Imagination Technologies公司聯(lián)合開(kāi)發(fā),其內(nèi)核被應(yīng)用處理器用來(lái)在移動(dòng)電話、無(wú)線游戲及其他嵌入式設(shè)備中提供具有PC及游戲控制臺(tái)畫(huà)面質(zhì)量的3D圖形。
該圖形加速器具有可分別提供QVGA與SVGA圖形性能的兩個(gè)版本(MBX R-S及MBX HR-S)。MBX R-S版具有較小的裸片尺寸,主要用于小型無(wú)線設(shè)備。而MBX HR-S版則具有更高的性能。這兩款內(nèi)核都擁有增加頂點(diǎn)幾何處理器的選項(xiàng),該處理器可以將主CPU從幾何處理任務(wù)解脫,以實(shí)現(xiàn)先進(jìn)的光照特性。
支持全2D與3D特性集且與Open GL-ES兼容的PowerVR MBX解決方案,采用塊狀渲染(tile-based rendering)來(lái)在芯片上實(shí)現(xiàn)全帶寬密集型像素處理。通過(guò)取消3D內(nèi)核與外部存儲(chǔ)器之間的Z緩沖以及保證只將可見(jiàn)像素寫入幀緩沖,可降低存儲(chǔ)器帶寬要求。塊狀渲染不僅能進(jìn)行高位精度渲染與合成(即使在帶有16位幀緩沖器的系統(tǒng)上),而且還能實(shí)現(xiàn)可取消所有多余紋理操作的延時(shí)紋理。此種方案便于采用統(tǒng)一的存儲(chǔ)器架構(gòu),在這種架構(gòu)中,圖形子系統(tǒng)與CPU一起共用系統(tǒng)SDRAM,從而可以采用節(jié)省成本與空間的SoC實(shí)現(xiàn)。
MBX內(nèi)核易于與ARM926EJ-S及ARM1136J-S以及ARM PrimeXsys平臺(tái)集成,故能縮短產(chǎn)品上市時(shí)間。該內(nèi)核架構(gòu)緊湊,可節(jié)省空間及硅成本。通過(guò)采用成熟的功率管理技術(shù)(包括模塊與寄存器級(jí)時(shí)鐘選通等),使功耗最小化。
通過(guò)采用ARM公司的AMBA AHB(高級(jí)高性能總線)接口及各種ARM PrimeCell外圍器件,還能提供其他集成支持。這些經(jīng)過(guò)預(yù)先驗(yàn)證及硬件成熟的軟IP宏單元,通過(guò)PrimeCell外圍多端口存儲(chǔ)控制器接口很容易與3D圖形加速解決方案相集成,因?yàn)檫@些接口已針對(duì)MBX R-S及HR-S而優(yōu)化。
不斷發(fā)展的OpenGL-ES
Khronos工作組是一個(gè)由多個(gè)成員單位組成的聯(lián)盟,專注于開(kāi)發(fā)免許可及跨平臺(tái)的開(kāi)放標(biāo)準(zhǔn)圖形API,以在各種平臺(tái)及設(shè)備上創(chuàng)作并播放動(dòng)態(tài)媒體。所有Khronos成員都可參與Khronos API規(guī)范的開(kāi)發(fā)、在公開(kāi)部署以前的各階段投票、并能通過(guò)對(duì)規(guī)范草案及遵循性測(cè)試的提前訪問(wèn)來(lái)加快先進(jìn)3D平臺(tái)與應(yīng)用的推出。
Khronos API規(guī)范包括:用于捕獲、傳輸、處理、顯示及同步數(shù)字媒體(包括2D/3D與音視頻流)的OpenML;可提供用于Flash 及SVG等矢量圖形庫(kù)的低級(jí)硬件加速接口的OpenVG;可提供對(duì)以前廣泛用于圖形、音頻與圖片庫(kù)以及MPEG-4等視頻編解碼器的媒體處理標(biāo)準(zhǔn)訪問(wèn)的OpenMAX;以及Open GL-ES。
Open GL-ES是一種面向嵌入式系統(tǒng)(包括手持式設(shè)備、儀器及車輛等)上全功能2D與3D圖形的免許可、跨平臺(tái)API。它是一組經(jīng)過(guò)良好定義的桌面OpenGL,可在軟件與圖形加速之間創(chuàng)建靈活及功能強(qiáng)大的低級(jí)接口。OpenGL ES 1.0包括用于浮點(diǎn)與定點(diǎn)系統(tǒng)的Common profile(公用類)與Common-Lite profile(共用簡(jiǎn)化類),以及用于與本地窗口系統(tǒng)手持連接的EGL 規(guī)范。OpenGL-ES 2.0目前正在開(kāi)發(fā)之中。
此外,還建立了“安全關(guān)鍵”工作組,以幫助將標(biāo)準(zhǔn)移植到其他采用3D圖形的移動(dòng)平臺(tái)、尤其是汽車及航空電子設(shè)備上。