本發(fā)明涉及終端技術領域,尤其涉及一種圖形渲染方法及相關設備。
背景技術:
隨著終端技術的發(fā)展,在終端上運行的應用也有更加精美的畫面效果,尤其是游戲類應用;在另一方面,對這類應用中精細畫面的渲染能力也是評價終端設備顯示效果的一個重要指標。
在運行安卓系統(tǒng)的終端設備中,可以通過直接采用OpenGL ES(Open Graphics Library for Embedded Systems,嵌入式設備開放圖形接口)和GPU(Graphics Processing Unit,圖像處理器)加速進行圖像渲染,除此以外,還可以通過虛擬機的方式來進行渲染,然而,如果采用虛擬機,也就是軟件模擬的方式進行渲染,其實現(xiàn)復雜,運行速度慢,對CPU(Central Processing Unit,中央處理器)的占用率高,容易出現(xiàn)畫面卡頓和丟幀的現(xiàn)象。
因此,如何對圖形渲染進行加速,并獲得更好的渲染效果,成為一個亟待解決的問題。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種圖形渲染方法及相關設備,可以在需要進行圖形渲染時,將圖形渲染的計算遷移至服務器進行,從而獲得更好的渲染效果。
本發(fā)明實施例第一方面公開了一種圖形渲染方法,包括:
終端設備獲取所述終端設備中應用進行圖形渲染的請求指令;
提取所述請求指令調用的函數的第一函數信息;其中,所述第一函數信息包含所述圖形渲染的對象的參數信息;
將所述第一函數信息打包成輸入輸出流;
將所述輸入輸出流傳輸至服務器;
接收所述服務器返回的處理結果并根據所述處理結果繪制所述應用請求的圖形渲染界面圖像。
作為一種可選的實施方式,所述提取所述請求指令調用的函數的第一函數信息之前,所述方法還包括:
通過模擬器模擬所述終端設備中圖形渲染的實現(xiàn);
所述提取所述請求指令調用的函數的第一函數信息,包括:
利用所述模擬器修改所述終端設備中圖形渲染的實現(xiàn),以提取所述請求指令調用的函數的所述第一函數信息。
作為一種可選的實施方式,所述將所述第一函數信息打包成輸入輸出流之前,所述方法還包括:
確定所述請求指令調用的函數是否有返回值,若所述請求指令調用的函數沒有返回值,將所述第一函數信息緩存;
若所述請求指令調用的函數有返回值,則執(zhí)行所述將所述第一函數信息打包成輸入輸出流。
作為一種可選的實施方式,所述將所述輸入輸出流傳輸至服務器,包括:
利用外設部件互連標準設備實現(xiàn)共享內存以將所述輸入輸出流傳輸至所述服務器。
本發(fā)明實施例第二方面公開了一種圖形渲染方法,包括:
服務器接收終端設備傳輸的輸入輸出流;
所述服務器中的模擬器識別所述輸入輸出流中是否有圖形渲染的函數調用;
若是,則對所述輸入輸出流進行解包以得到所述終端設備調用的圖形渲染的函數信息;
根據所述函數信息轉調所述服務器中的對應函數;其中,所述函數信息包含所述終端設備圖形渲染的對象的參數信息;
獲取所述服務器中的對應函數的處理結果,并將所述處理結果返回給所述終端設備。
作為一種可選的實施方式,所述服務器中的模擬器識別所述輸入輸出流中是否有圖形渲染的函數調用,包括:
通過所述模擬器的渲染插件識別所述輸入輸出流中是否有圖形渲染的函數調用。
作為一種可選的實施方式,所述通過所述模擬器的渲染插件識別所述輸入輸出流中是否有圖形渲染的函數調用之前,所述方法還包括:
判斷所述模擬器是否第一次添加所述渲染插件;若是,則為所述模擬器添加所述渲染插件。
作為一種可選的實施方式,所述根據所述函數信息轉調所述服務器中的對應函數,包括:
利用所述模擬器的翻譯插件根據所述函數信息轉調所述服務器中的對應函數。
本發(fā)明實施例第三方面公開了一種終端設備,包括:
獲取單元,用于獲取所述終端設備中應用進行圖形渲染的請求指令;
提取單元,用于提取所述請求指令調用的函數的第一函數信息;其中,所述第一函數信息包含所述圖形渲染的對象的參數信息;
打包單元,用于將所述第一函數信息打包成輸入輸出流;
傳輸單元,用于將所述輸入輸出流傳輸至服務器;
接收單元,用于接收所述服務器返回的處理結果;
繪制單元,用于根據所述處理結果繪制所述應用請求的圖形渲染界面圖像。
作為一種可選的實施方式,所述終端設備還包括:
模擬單元,用于通過模擬器模擬所述終端設備中圖形渲染的實現(xiàn);
所述提取單元,具體用于利用所述模擬器修改所述終端設備中圖形渲染的實現(xiàn),以提取所述請求指令調用的函數的所述第一函數信息。
作為一種可選的實施方式,所述終端設備還包括:
確定單元,用于確定所述請求指令調用的函數是否有返回值;
緩存單元,用于當所述請求指令調用的函數沒有返回值時,將所述第一函數信息緩存;
所述打包單元,具體用于當所述請求指令調用的函數有返回值時,將所述第一函數信息打包成所述輸入輸出流。
作為一種可選的實施方式,所述傳輸單元,具體用于利用外設部件互連標準設備實現(xiàn)共享內存以將所述輸入輸出流傳輸至所述服務器。
本發(fā)明實施例第四方面公開了一種服務器,包括:
接收單元,用于接收終端設備傳輸的輸入輸出流;
識別單元,用于利用所述服務器中的模擬器識別所述輸入輸出流中是否有圖形渲染的函數調用;
解包單元,用于當所述輸入輸出流中有圖形渲染的函數調用時,對所述輸入輸出流進行解包以得到所述終端設備調用的圖形渲染的函數信息;
轉調單元,用于根據所述函數信息轉調所述服務器中的對應函數;其中,所述函數信息包含所述終端設備圖形渲染的對象的參數信息;
獲取單元,用于獲取所述服務器中的對應函數的處理結果;
返回單元,用于將所述處理結果返回給所述終端設備。
作為一種可選的實施方式,所述識別單元,具體用于通過所述模擬器的渲染插件識別所述輸入輸出流中是否有圖形渲染的函數調用。
作為一種可選的實施方式,所述服務器還包括:
判斷單元,用于判斷所述模擬器是否第一次添加所述渲染插件;
添加單元,用于當所述模擬器為第一次添加所述渲染插件時,為所述模擬器添加所述渲染插件。
作為一種可選的實施方式,所述轉調單元,具體用于利用所述模擬器的翻譯插件根據所述函數信息轉調所述服務器中的對應函數。
本發(fā)明實施例第五方面公開了一種終端設備,包括:
存儲有可執(zhí)行程序代碼的存儲器;
與所述存儲器耦合的處理器;
所述處理器調用所述存儲器中存儲的所述可執(zhí)行程序代碼,執(zhí)行如上述第一方面所描述的方法。
本發(fā)明實施例第六方面公開了一種服務器,包括:
存儲有可執(zhí)行程序代碼的存儲器;
與所述存儲器耦合的處理器;
所述處理器調用所述存儲器中存儲的所述可執(zhí)行程序代碼,執(zhí)行如上述第二方面所描述的方法。
從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
本發(fā)明實施例中,終端設備獲取所述終端設備中應用進行圖形渲染的請求指令;提取所述請求指令調用的函數的第一函數信息;其中,所述第一函數信息包含所述圖形渲染的對象的參數信息;將所述第一函數信息打包成輸入輸出流;將所述輸入輸出流傳輸至服務器;接收所述服務器返回的處理結果并根據所述處理結果繪制所述應用請求的圖形渲染界面圖像。由此可見,實施本發(fā)明實施例,終端設備可以在需要進行圖形渲染時,將圖形渲染的計算遷移至服務器進行,從而獲得更好的渲染效果。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域的普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的一種圖形渲染方法的流程示意圖;
圖2為本發(fā)明實施例公開的另一種圖形渲染方法的流程示意圖;
圖3為本發(fā)明實施例公開的一種終端設備的結構示意圖;
圖4為本發(fā)明實施例公開的另一種終端設備的結構示意圖;
圖5為本發(fā)明實施例公開的一種終端設備的實體裝置結構示意圖;
圖6為本發(fā)明實施例公開的一種服務器的結構示意圖;
圖7為本發(fā)明實施例公開的一種服務器實體裝置的結構示意圖。
具體實施方式
為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發(fā)明一部份實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別不同的對象,而不是用于描述特定順序。此外,術語“包括”和“具有”以及它們任何變形,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統(tǒng)、產品或設備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法或設備固有的其他步驟或單元。
本發(fā)明實施例提供了一種圖形渲染方法及相關設備,可以在需要進行圖形渲染時,將圖形渲染的計算遷移至服務器進行,從而獲得更好的渲染效果。以下分別進行詳細說明。
請參閱圖1,圖1是本發(fā)明實施例公開的一種圖形渲染方法的流程示意圖。其中,圖1所示的圖形渲染方法可以包括以下步驟:
101、終端設備獲取終端設備中應用進行圖形渲染的請求指令。
本發(fā)明實施例中,終端設備可為智能手機、智能手表、掌上電腦、平板電腦、個人數字助理(Personal Digital Assistant,PDA)、銷售終端(Point of Sales,POS)等,本發(fā)明實施例后續(xù)不作復述。
本發(fā)明實施例中,終端設備中的應用在需要顯示復雜、精細的畫面效果時,需要向終端設備的處理器發(fā)送請求指令,調用Open GL ES的方法來進行圖形渲染。
102、提取上述請求指令調用的函數的第一函數信息;其中,上述第一函數信息包含上述圖形渲染的對象的參數信息。
終端設備在進行圖形渲染時,可以通過虛擬機的方式進行軟件模擬,即通過在終端設備中運行模擬器,利用模擬器模擬對于Open GL ES方法的實現(xiàn),再通過模擬器提取上述請求指令調用的函數和圖形渲染的對象的參數信息作為上述第一函數信息。舉例來說,終端設備運行安卓系統(tǒng),在運行模擬器之后,利用模擬器產生對Open GL ES方法的模擬EMULATION GLES,利用EMULATION GLES修改終端設備的系統(tǒng)中對Open GL ES的處理,在目錄Android/device/generic/goldfish/opengl/system下提取OpenGL ES方法中的函數和參數信息。
103、將上述第一函數信息打包成輸入輸出流。
在提取了上述請求指令調用的函數的第一函數信息之后,終端設備可以將第一函數信息打包發(fā)送至服務器,該服務器具有OpenGL的實現(xiàn),可以利用第一函數信息完成圖形渲染所需的處理,再將處理結果返回至終端設備,從而降低進行圖形渲染對終端設備CPU的運行壓力,并且由于服務器的計算能力一般強于終端設備,因而可以獲得更好的圖形渲染效果,除此以外,服務器進行圖形渲染計算較快,可以降低圖形渲染過程所需時間,避免終端設備的應用在需要進行圖形渲染時出現(xiàn)卡頓、丟幀的現(xiàn)象。
在將上述第一函數信息打包成輸入輸出流之前,先確定上述請求指令調用的函數是否有返回值,若上述請求指令調用的函數沒有返回值,則將第一函數信息緩存,直至終端設備出現(xiàn)調用的函數有返回值的圖形渲染請求指令,將第一函數信息打包成輸入輸出流發(fā)送至服務器,或者,將第一函數信息與后續(xù)的調用的函數有返回值的圖形渲染請求指令的函數信息共同打包成輸入輸出流發(fā)送至服務器。
104、將上述輸入輸出流傳輸至服務器。
作為一種可選的實施方式,終端設備的模擬器利用外設部件互連標準設備實現(xiàn)共享內存以將上述輸入輸出流傳輸至服務器。該服務器具有OpenGL的實現(xiàn),可以利用輸入輸出流中包含的第一函數信息完成圖形渲染所需的處理,再將處理結果返回至終端設備。
105、接收服務器返回的處理結果。
106、根據上述處理結果繪制上述應用請求的圖形渲染界面圖像。
由此可見,利用圖1所描述的方法,終端設備可以將圖形渲染的計算轉移至服務器完成,從而降低進行圖形渲染對終端設備CPU的運行壓力;并且由于服務器的計算能力一般強于終端設備,因而可以獲得更好的圖形渲染效果;除此以外,服務器進行圖形渲染計算較快,可以降低圖形渲染過程所需時間,避免終端設備的應用在需要進行圖形渲染時出現(xiàn)卡頓、丟幀的現(xiàn)象。
請參閱圖2,圖2是本發(fā)明實施例公開的另一種圖形渲染方法的流程示意圖。如圖2所示,該圖形渲染方法可以包括以下步驟:
201、服務器接收終端設備傳輸的輸入輸出流。
本發(fā)明實施例中,服務器可為大型機、小型機甚至個人電腦,其共同的特點為可以為終端設備的圖形渲染提供類似“云計算”的服務,即將終端設備中應用進行圖形渲染的計算轉移至該服務器進行。
202、服務器中的模擬器識別上述輸入輸出流中是否有圖形渲染的函數調用。
本發(fā)明實施例中,服務器可運行模擬器,通過模擬器的渲染插件識別上述輸入輸出流中是否有圖形渲染的函數調用。在此之前,先判斷上述模擬器是否第一次添加上述渲染插件,若是,則為上述模擬器添加上述渲染插件。
203、若是,則對上述輸入輸出流進行解包以得到終端設備調用的圖形渲染的函數信息。
本發(fā)明實施例中,終端設備發(fā)送給服務器的輸入輸出流中包含終端設備進行圖形渲染所調用的函數和圖形渲染對象的參數信息,因此服務器對該輸入輸出流進行解包后,可以獲得該終端設備調用的圖形渲染的函數信息(即進行圖形渲染所調用的函數和圖形渲染對象的參數信息)。
204、根據上述函數信息轉調服務器中的對應函數;其中,上述函數信息包含終端設備圖形渲染的對象的參數信息。
舉例來說,終端設備可以利用Open GL ES來實現(xiàn)終端設備中的圖形渲染,因而解包后得到的終端設備調用的圖形渲染的函數為Open GL ES方法的函數,而服務器中往往利用Open GL來進行圖形渲染,因而服務器需根據Open GL ES方法的函數轉調Open GL的對應函數來完成渲染。
作為一種可選的實施方式,當服務器上運行有模擬器時,利用上述模擬器的翻譯插件根據上述函數信息轉調服務器中的對應函數。
205、獲取服務器中的對應函數的處理結果,并將上述處理結果返回給終端設備。
服務器完成圖形渲染之后,將進行圖形渲染的處理結果打包并返回給終端設備,以供終端設備根據上述處理結果繪制圖形渲染的界面圖像。
由此可見,利用圖2所描述的方法,終端設備可以將圖形渲染的計算轉移至服務器完成,從而降低進行圖形渲染對終端設備CPU的運行壓力;并且由于服務器的計算能力一般強于終端設備,因而可以獲得更好的圖形渲染效果;除此以外,服務器進行圖形渲染計算較快,可以降低圖形渲染過程所需時間,避免終端設備的應用在需要進行圖形渲染時出現(xiàn)卡頓、丟幀的現(xiàn)象。
請參閱圖3,圖3是本發(fā)明實施例公開的一種終端設備300的結構示意圖。如圖3所示,該終端設備可以包括:
獲取單元301,用于獲取終端設備中應用進行圖形渲染的請求指令。
提取單元302,用于提取上述請求指令調用的函數的第一函數信息;其中,上述第一函數信息包含上述圖形渲染的對象的參數信息。
打包單元303,用于將上述第一函數信息打包成輸入輸出流。
傳輸單元304,用于將上述輸入輸出流傳輸至服務器。
接收單元305,用于接收服務器返回的處理結果。
繪制單元306,用于根據上述處理結果繪制上述應用請求的圖形渲染界面圖像。
由此可見,在圖3所描述的終端設備中,可以將圖形渲染的計算轉移至服務器完成,從而降低進行圖形渲染對終端設備CPU的運行壓力;并且由于服務器的計算能力一般強于終端設備,因而可以獲得更好的圖形渲染效果;除此以外,服務器進行圖形渲染計算較快,可以降低圖形渲染過程所需時間,避免終端設備的應用在需要進行圖形渲染時出現(xiàn)卡頓、丟幀的現(xiàn)象。
請一并參閱圖4,圖4是本發(fā)明實施例公開的另一種終端設備400的結構示意圖。其中,圖4所示的終端設備是由圖3所示的終端設備進行優(yōu)化得到的,與圖3所示的終端設備相比,圖4所示的終端設備還包括:
模擬單元307,用于通過模擬器模擬終端設備中圖形渲染的實現(xiàn);
上述提取單元302,具體用于利用上述模擬器修改終端設備中圖形渲染的實現(xiàn),以提取上述請求指令調用的函數的上述第一函數信息。
作為一種可選的實施方式,終端設備還包括:
確定單元308,用于確定上述請求指令調用的函數是否有返回值;
緩存單元309,用于當上述請求指令調用的函數沒有返回值時,將上述第一函數信息緩存;
上述打包單元303,具體用于當上述請求指令調用的函數有返回值時,將上述第一函數信息打包成上述輸入輸出流。
作為一種可選的實施方式,上述傳輸單元304,具體用于利用外設部件互連標準設備實現(xiàn)共享內存以將上述輸入輸出流傳輸至服務器。
由此可見,在圖4所描述的終端設備中,可以將圖形渲染的計算轉移至服務器完成,從而降低進行圖形渲染對終端設備CPU的運行壓力;并且由于服務器的計算能力一般強于終端設備,因而可以獲得更好的圖形渲染效果;除此以外,服務器進行圖形渲染計算較快,可以降低圖形渲染過程所需時間,避免終端設備的應用在需要進行圖形渲染時出現(xiàn)卡頓、丟幀的現(xiàn)象。
請參閱圖5,圖5為本發(fā)明實施例公開的一種終端設備500的實體裝置結構示意圖。如圖5所示,為了便于說明,僅示出了與本發(fā)明實施例相關的部分,具體技術細節(jié)未揭示的,請參照本發(fā)明實施例方法部分。該終端可以為包括手機、平板電腦、PDA(Personal Digital Assistant,個人數字助理)、POS(Point ofSales,銷售終端)、車載電腦等任意終端設備,以終端為手機為例:
圖5示出的是與本發(fā)明實施例提供的終端相關的手機的部分結構的框圖。參考圖5,手機包括:射頻(Radio Frequency,RF)電路501、存儲器502、輸入單元503、顯示單元504、傳感器505、音頻電路506、無線保真(wireless fidelity,WiFi)模塊507、處理器508、以及電源509等部件。本領域技術人員可以理解,圖5中示出的手機結構并不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結合圖5對手機的各個構成部件進行具體的介紹:
RF電路501可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器508處理;另外,將設計上行的數據發(fā)送給基站。通常,RF電路501包括但不限于天線、至少一個放大器、收發(fā)信機、耦合器、低噪聲放大器(Low Noise Amplifier,LNA)、雙工器等。此外,RF電路501還可以通過無線通信與網絡和其他設備通信。上述無線通信可以使用任一通信標準或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(Global System of Mobile communication,GSM)、通用分組無線服務(General Packet Radio Service,GPRS)、碼分多址(Code Division Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Division Multiple Access,WCDMA)、長期演進(Long Term Evolution,LTE)、電子郵件、短消息服務(Short Messaging Service,SMS)等。
存儲器502可用于存儲軟件程序以及模塊,處理器508通過運行存儲在存儲器502的軟件程序以及模塊,從而執(zhí)行手機的各種功能應用以及數據處理。存儲器502可主要包括存儲程序區(qū)和存儲數據區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區(qū)可存儲根據手機的使用所創(chuàng)建的數據(比如音頻數據、電話本等)等。此外,存儲器502可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
輸入單元503可用于接收輸入的數字或字符信息,以及產生與手機的用戶設置以及功能控制有關的鍵信號輸入。具體地,輸入單元503可包括觸控面板5031以及其他輸入設備5032。觸控面板5031,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板5031上或在觸控面板5031附近的操作),并根據預先設定的程式驅動相應的連接裝置??蛇x的,觸控面板5031可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器508,并能接收處理器508發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸控面板5031。除了觸控面板5031,輸入單元503還可以包括其他輸入設備5032。具體地,其他輸入設備5032可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元504可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機的各種菜單。顯示單元504可包括顯示面板5041,可選的,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板5041。進一步的,觸控面板5031可覆蓋顯示面板5041,當觸控面板5031檢測到在其上或附近的觸摸操作后,傳送給處理器508以確定觸摸事件的類型,隨后處理器508根據觸摸事件的類型在顯示面板5041上提供相應的視覺輸出。雖然在圖5中,觸控面板5031與顯示面板5041是作為兩個獨立的部件來實現(xiàn)手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板5031與顯示面板5041集成而實現(xiàn)手機的輸入和輸出功能。
手機還可包括至少一種傳感器505,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據環(huán)境光線的明暗來調節(jié)顯示面板5041的亮度,接近傳感器可在手機移動到耳邊時,關閉顯示面板5041和/或背光。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應用(比如橫豎屏切換、相關游戲、磁力計姿態(tài)校準)、振動識別相關功能(比如計步器、敲擊)等;至于手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路506、揚聲器5061,傳聲器5062可提供用戶與手機之間的音頻接口。音頻電路506可將接收到的音頻數據轉換后的電信號,傳輸到揚聲器5061,由揚聲器5061轉換為聲音信號輸出;另一方面,傳聲器5062將收集的聲音信號轉換為電信號,由音頻電路506接收后轉換為音頻數據,再將音頻數據輸出處理器508處理后,經RF電路501以發(fā)送給比如另一手機,或者將音頻數據輸出至存儲器502以便進一步處理。
WiFi屬于短距離無線傳輸技術,手機通過WiFi模塊507可以幫助用戶收發(fā)電子郵件、瀏覽網頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網訪問。雖然圖5示出了WiFi模塊507,但是可以理解的是,其并不屬于手機的必須構成,完全可以根據需要在不改變發(fā)明的本質的范圍內而省略。
處理器508是手機的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器502內的軟件程序和/或模塊,以及調用存儲在存儲器502內的數據,執(zhí)行手機的各種功能和處理數據,從而對手機進行整體監(jiān)控??蛇x的,處理器508可包括一個或多個處理單元;優(yōu)選的,處理器508可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,調制解調處理器主要處理無線通信??梢岳斫獾氖?,上述調制解調處理器也可以不集成到處理器508中。
手機還包括給各個部件供電的電源509(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器508邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機還可以包括攝像頭、藍牙模塊等,在此不再贅述。
前述實施例中,各步驟方法流程可以基于該終端設備的結構實現(xiàn)。其中應用層和操作系統(tǒng)內核均可視為處理器508的抽象化結構的組成部分。
在本發(fā)明實施例中,處理器508通過調用存儲于存儲器502中的程序代碼,用于執(zhí)行以下操作:
終端設備獲取終端設備中應用進行圖形渲染的請求指令;
提取上述請求指令調用的函數的第一函數信息;其中,上述第一函數信息包含上述圖形渲染的對象的參數信息;
將上述第一函數信息打包成輸入輸出流;
將上述輸入輸出流傳輸至服務器;
接收服務器返回的處理結果并根據上述處理結果繪制上述應用請求的圖形渲染界面圖像。
由此可見,在圖5所描述的終端設備中,可以將圖形渲染的計算轉移至服務器完成,從而降低進行圖形渲染對終端設備CPU的運行壓力;并且由于服務器的計算能力一般強于終端設備,因而可以獲得更好的圖形渲染效果;除此以外,服務器進行圖形渲染計算較快,可以降低圖形渲染過程所需時間,避免終端設備的應用在需要進行圖形渲染時出現(xiàn)卡頓、丟幀的現(xiàn)象。
請參閱圖6,圖6是本發(fā)明實施例公開的一種服務器600的結構示意圖。如圖6所示,該服務器可以包括:
接收單元601,用于接收終端設備傳輸的輸入輸出流。
識別單元602,用于利用服務器中的模擬器識別上述輸入輸出流中是否有圖形渲染的函數調用。
上述識別單元602,具體用于通過上述模擬器的渲染插件識別上述輸入輸出流中是否有圖形渲染的函數調用。
解包單元603,用于當上述輸入輸出流中有圖形渲染的函數調用時,對上述輸入輸出流進行解包以得到終端設備調用的圖形渲染的函數信息。
轉調單元604,用于根據上述函數信息轉調服務器中的對應函數;其中,上述函數信息包含終端設備圖形渲染的對象的參數信息。
上述轉調單元604,具體用于利用上述模擬器的翻譯插件根據上述函數信息轉調服務器中的對應函數。
獲取單元605,用于獲取服務器中的對應函數的處理結果。
返回單元606,用于將上述處理結果返回給終端設備。
由此可見,利用圖6所描述的服務器,可以將終端設備中圖形渲染的計算轉移至服務器完成,從而降低進行圖形渲染對終端設備CPU的運行壓力;并且由于服務器的計算能力一般強于終端設備,因而可以獲得更好的圖形渲染效果;除此以外,服務器進行圖形渲染計算較快,可以降低圖形渲染過程所需時間,避免終端設備的應用在需要進行圖形渲染時出現(xiàn)卡頓、丟幀的現(xiàn)象。
請參閱圖7,圖7為本發(fā)明實施例公開的一種終端設備700的結構示意圖。如圖7所示,終端設備700包括:處理器701以及存儲器702;其中存儲器702可以用于處理器701執(zhí)行數據處理所需要的緩存,還可以用于提供處理器701執(zhí)行數據處理調用的數據以及獲得的結果數據的存儲空間。
在本發(fā)明實施例中,處理器701通過調用存儲于存儲器702中的程序代碼,用于執(zhí)行以下操作:
服務器接收終端設備傳輸的輸入輸出流;
服務器中的模擬器識別上述輸入輸出流中是否有圖形渲染的函數調用;
若是,則對上述輸入輸出流進行解包以得到終端設備調用的圖形渲染的函數信息;
根據上述函數信息轉調服務器中的對應函數;其中,上述函數信息包含終端設備圖形渲染的對象的參數信息;
獲取服務器中的對應函數的處理結果,并將上述處理結果返回給終端設備。
由此可見,利用圖7所描述的服務器,可以將終端設備圖形渲染的計算轉移至服務器完成,從而降低進行圖形渲染對終端設備CPU的運行壓力;并且由于服務器的計算能力一般強于終端設備,因而可以獲得更好的圖形渲染效果;除此以外,服務器進行圖形渲染計算較快,可以降低圖形渲染過程所需時間,避免終端設備的應用在需要進行圖形渲染時出現(xiàn)卡頓、丟幀的現(xiàn)象。
值得注意的是,終端設備和服務器實施例中,所包括的各個單元只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠實現(xiàn)相應的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。
另外,本領域普通技術人員可以理解實現(xiàn)上述各方法實施例中的全部或部分步驟是可以通過程序來指令相關的硬件完成,相應的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
以上僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明實施例揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。