專利名稱:游戲顯示模式自適應(yīng)切換方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到電視游戲技術(shù)領(lǐng)域,特別涉及到游戲顯示模式自適應(yīng)切換方法和裝置。
背景技術(shù):
隨著智能電視的發(fā)展,原來只能在PC上使用的應(yīng)用逐漸在電視上得以應(yīng)用,包括網(wǎng)頁瀏覽、電子商務(wù)、游戲等等,其中,電視游戲正以前所未有的發(fā)展速度豐富著人們的生活。電視游戲從過去的2D發(fā)展為3D,3D游戲以其身臨其境的體驗(yàn)感受贏得了越來越多用戶的青睞。但是,目前大多數(shù)家庭用戶仍然在使用2D屏的電視機(jī),由于2D屏電視機(jī)并不支持3D游戲,致使3D游戲在2D屏的電視機(jī)上無法運(yùn)行,嚴(yán)重的可能會(huì)造成電視機(jī)系統(tǒng)崩潰。此外,雖然3D屏電視機(jī)已經(jīng)開始普及到一般家庭用戶,但由于游戲用戶的習(xí)慣和愛好不同,可能會(huì)有部分用戶在玩游戲時(shí)還是比較習(xí)慣于2D的畫面。因此,對(duì)于同一款游戲來說,如何兼顧到不同用戶的習(xí)慣和愛好需求,是目前電視游戲開發(fā)設(shè)計(jì)工程師必須考慮的問題。
發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種可自動(dòng)配置顯示模式的游戲顯示模式自適應(yīng)切換方法和裝置。本發(fā)明提出一種游戲顯示模式自適應(yīng)切換方法,包括步驟獲取顯示屏類型,所述顯示屏類型包括2D屏和3D屏;調(diào)用DirectFB庫獲取游戲顯示層,并根據(jù)所述顯示屏類型配置所述游戲顯示層的繪制參數(shù);調(diào)用所述DirectFB庫,根據(jù)所述顯示屏類型設(shè)置所述游戲顯示層的顯示模式;調(diào)用所述DirectFB庫,根據(jù)所述繪制參數(shù)和顯示模式在所述游戲顯示層上繪制游戲界面。優(yōu)選地,所述調(diào)用DirectFB庫,根據(jù)所述顯示屏類型設(shè)置所述游戲顯示層的顯示模式具體包括 當(dāng)所述顯示屏類型為2D屏?xí)r,調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式;當(dāng)所述顯示屏類型為3D屏?xí)r,調(diào)用所述DirectFB庫,根據(jù)所述顯示模式的歷史設(shè)置記錄設(shè)置所述游戲顯示層的顯示模式。優(yōu)選地,所述調(diào)用DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式之后還包括屏蔽所述顯示模式的切換開關(guān)。優(yōu)選地,所述調(diào)用DirectFB庫,根據(jù)所述顯示模式的歷史設(shè)置記錄設(shè)置所述游戲顯示層的顯示模式具體包括當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量大于3D模式數(shù)量時(shí),調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式;當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量小于3D模式數(shù)量時(shí),調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為3D模式;當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量等于3D模式數(shù)量時(shí),調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為所述歷史設(shè)置記錄中最后一次記錄的顯示模式。優(yōu)選地,所述調(diào)用DirectFB庫,根據(jù)所述顯示模式的歷史設(shè)置記錄設(shè)置所述游戲顯示層的顯示模式之后還包括將本次設(shè)置的顯示模式記錄到所述顯示模式的歷史設(shè)置記錄中。優(yōu)選地,所述調(diào)用DirectFB庫,根據(jù)所述繪制參數(shù)和顯示模式在所述游戲顯示層上繪制游戲界面之后還包括當(dāng)所述顯示屏類型為3D屏且接收到顯示模式切換命令時(shí),調(diào)用所述DirectFB庫, 切換所述游戲顯示層的顯示模式,重新配置所述游戲顯示層的繪制參數(shù),并重新繪制所述游戲界面;將本次切換的顯示模式記錄到所述顯示模式的歷史設(shè)置記錄中。本發(fā)明還提出一種游戲顯示模式自適應(yīng)切換裝置,包括屏類型獲取模塊,用于獲取顯示屏類型,所述顯示屏類型包括2D屏和3D屏;顯示層配置模塊,用于調(diào)用DirectFB庫獲取游戲顯示層,并根據(jù)所述顯示屏類型配置所述游戲顯示層的繪制參數(shù);模式設(shè)置模塊,用于調(diào)用所述DirectFB庫,根據(jù)所述顯示屏類型設(shè)置所述游戲顯示層的顯示模式;繪制模塊,用于調(diào)用所述DirectFB庫,根據(jù)所述繪制參數(shù)和顯示模式在所述游戲顯示層上繪制游戲界面。優(yōu)選地,所述模式設(shè)置模塊具體用于當(dāng)所述顯示屏類型為2D屏?xí)r,調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式; 當(dāng)所述顯示屏類型為3D屏?xí)r,調(diào)用所述DirectFB庫,根據(jù)所述顯示模式的歷史設(shè)置記錄設(shè)置所述游戲顯示層的顯示模式。優(yōu)選地,所述模式設(shè)置模塊還用于,當(dāng)所述顯示屏類型為2D屏?xí)r,屏蔽所述顯示模式的切換開關(guān)。優(yōu)選地,所述模式設(shè)置模塊還用于當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量大于3D模式數(shù)量時(shí),調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式;當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量小于3D模式數(shù)量時(shí),調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為3D模式;當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量等于3D模式數(shù)量時(shí),調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為所述歷史設(shè)置記錄中最后一次記錄的顯示模式。優(yōu)選地,所述游戲顯示模式自適應(yīng)切換裝置,還包括記錄模塊,用于當(dāng)所述顯示屏類型為3D屏?xí)r,將本次設(shè)置的顯示模式記錄到所述顯示模式的歷史設(shè)置記錄中。優(yōu)選地,所述模式設(shè)置模塊還用于,當(dāng)所述顯示屏類型為3D屏且接收到顯示模式切換命令時(shí),調(diào)用所述DirectFB庫,切換所述游戲顯示層的顯示模式;所述顯示層配置模塊還用于,當(dāng)所述顯示屏類型為3D屏且接收到顯示模式切換命令時(shí),調(diào)用所述DirectFB庫重新配置所述游戲顯示層的繪制參數(shù);所述繪制模塊還用于,調(diào)用DirectFB庫,根據(jù)新配置的繪制參數(shù)和新切換的顯示模式重新繪制所述游戲界面;所述記錄模塊還用于,將本次切換的顯示模式記錄到所述顯示模式的歷史設(shè)置記錄中。本發(fā)明根據(jù)用戶電視顯示屏的實(shí)際屏幕類型,自動(dòng)將游戲顯示層配置為電視顯示屏可以支持的顯示模式,避免了因2D屏不支持3D游戲而造成的游戲無法運(yùn)行或電視系統(tǒng)崩潰的情況;根據(jù)用戶使用習(xí)慣設(shè)置顯示模式,可滿足不同用戶的習(xí)慣和愛好需求,提高用戶體驗(yàn);基于DirectFB庫進(jìn)行開發(fā)設(shè)計(jì),為應(yīng)用程序開發(fā)者提供了方便,減少了硬件的驅(qū)動(dòng)開發(fā)者的工作量,提高了系統(tǒng)的可移植性。
圖I為本發(fā)明一實(shí)施例中游戲顯示模式自適應(yīng)切換方法的流程圖;圖2為本發(fā)明一實(shí)施例的游戲顯示模式自適應(yīng)切換方法中設(shè)置顯示模式的流程圖;圖3為本發(fā)明一實(shí)施例的游戲顯示模式自適應(yīng)切換方法中根據(jù)歷史設(shè)置記錄設(shè)置顯示模式的流程圖;圖4為本發(fā)明另一實(shí)施例的游戲顯示模式自適應(yīng)切換方法中設(shè)置顯示模式的流程圖;圖5為本發(fā)明另一實(shí)施例中游戲顯示模式自適應(yīng)切換方法的流程圖;圖6為本發(fā)明另一實(shí)施例的游戲顯示模式自適應(yīng)切換方法中播放視頻片頭的流程圖;圖7為本發(fā)明再一實(shí)施例中游戲顯示模式自適應(yīng)切換方法的流程圖;圖8為本發(fā)明又一實(shí)施例中游戲顯示模式自適應(yīng)切換方法的流程圖;圖9為本發(fā)明一實(shí)施例中游戲顯示模式自適應(yīng)切換裝置的結(jié)構(gòu)示意圖;圖10為本發(fā)明另一實(shí)施例中游戲顯示模式自適應(yīng)切換裝置的結(jié)構(gòu)示意圖;圖11為本發(fā)明再一實(shí)施例中游戲顯示模式自適應(yīng)切換裝置的結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施例方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖I所示,圖I為本發(fā)明一實(shí)施例中游戲顯示模式自適應(yīng)切換方法的流程圖,該實(shí)施例提到的游戲顯示模式自適應(yīng)切換方法,包括步驟S10,獲取顯示屏類型,顯示屏類型包括2D屏和3D屏;本實(shí)施例在啟動(dòng)游戲時(shí),首先調(diào)用系統(tǒng)接口獲取電視顯示屏的類型,系統(tǒng)通過讀取電視顯示屏的參數(shù)信息就可以知道使用的是2D屏還是3D屏,此時(shí)需保證燒錄到電視上的顯示屏參數(shù)信息是正確的,否則游戲就可能無法取得正確的顯示屏類型。步驟S20,調(diào)用DirectFB庫獲取游戲顯示層,并根據(jù)顯示屏類型配置游戲顯示層的繪制參數(shù);本實(shí)施例的DirectFB庫是專門為滿足嵌入式設(shè)備要求而開發(fā)的小巧、強(qiáng)大、靈活和易于使用的圖形系統(tǒng),它在Frame Buffer (繪圖緩沖存儲(chǔ)器)的基礎(chǔ)上提供了圖形加速、 輸入設(shè)備處理提速、透明窗口和多層顯示層的功能,用軟件封裝當(dāng)前硬件無法支持的圖形算法來完成硬件加速的圖形庫,它能夠以最小的資源開銷來實(shí)現(xiàn)最高的硬件加速性能,對(duì)嵌入式系統(tǒng)⑶I (Graphical User Interface,圖形用戶界面)有較好的支持。本實(shí)施例中,DirectFB庫依靠于圖形硬件可以有一個(gè)或者多個(gè)顯示層,不同的顯示層在顯存中占據(jù)著不同的區(qū)域,通過傳入顯示層等參數(shù),調(diào)用DirectFB的Get Display LayerO函數(shù),就可以取得游戲要用到的顯示層,再根據(jù)當(dāng)前顯示屏類型,調(diào)用相應(yīng)的配置函數(shù)完成分辨率、顏色等參數(shù)的配置。例如,調(diào)用Set Cooperative Level O設(shè)置游戲顯示層與其它對(duì)象的協(xié)作級(jí)別;調(diào)用Set Background Mode ()和Set Background Color ()設(shè)置顯示層的背景;通過結(jié)構(gòu)體DFB Display Layer Config設(shè)置顯示層的配置選項(xiàng);調(diào)用Set Screen Location O設(shè)置顯示層在屏幕的位置和大小;調(diào)用Get Surface O獲取顯示層的可操作區(qū)塊等。步驟S30,調(diào)用DirectFB庫,根據(jù)顯示屏類型設(shè)置游戲顯示層的顯示模式;本實(shí)施例中,如果電視顯示屏是2D屏,由于其只能支持2D顯示模式,所以將游戲顯示層的顯示模式配置為2D ;如果用戶的電視顯示屏是3D屏,則可將顯示層的顯示模式配置為2D,也可將其配置為3D。通常情況下,考慮到使用3D屏的用戶可能更趨向于體驗(yàn)3D 場(chǎng)景,因此在用戶首次使用游戲時(shí),初始化配置顯示模式為3D模式,之后的初始化配置顯示模式則可根據(jù)前一次用戶設(shè)置或統(tǒng)計(jì)用戶使用習(xí)慣信息來進(jìn)行確定。步驟S40,調(diào)用DirectFB庫,根據(jù)繪制參數(shù)和顯示模式在游戲顯示層上繪制游戲界面。本實(shí)施例根據(jù)用戶電視顯示屏的實(shí)際屏幕類型,自動(dòng)將游戲顯示層配置為電視顯示屏可以支持的顯示模式,避免了因2D屏不支持3D游戲而造成的游戲無法運(yùn)行或電視系統(tǒng)崩潰的情況。且顯示模式配置過程均在后臺(tái)操作,提高了用戶體驗(yàn)。同時(shí),本實(shí)施例基于 DirectFB庫進(jìn)行游戲開發(fā)設(shè)計(jì),DirectFB庫作為一個(gè)開源的圖形庫為嵌入式設(shè)備的圖形化提供了良好的解決方案,其標(biāo)準(zhǔn)化的用戶接口屏蔽了硬件差異,為應(yīng)用程序開發(fā)者提供了方便;而其底層標(biāo)準(zhǔn)化的硬件接口也減少了硬件的驅(qū)動(dòng)開發(fā)者的工作量,提高了系統(tǒng)的可移植性。如圖2所示,圖2為本發(fā)明一實(shí)施例的游戲顯示模式自適應(yīng)切換方法中設(shè)置顯示模式的流程圖,步驟S30具體包括步驟S3 1,判斷顯示屏類型;當(dāng)顯示屏類型為2D屏?xí)r,執(zhí)行步驟S32 ;當(dāng)顯示屏類型為3D屏?xí)r,執(zhí)行步驟S33 ;
步驟S32,調(diào)用DirectFB庫,將游戲顯示層的顯示模式設(shè)置為2D模式;步驟S321,屏蔽顯示模式的切換開關(guān);本實(shí)施例中,如果電視顯示屏是2D屏,由于其只能支持2D顯示模式,所以將游戲顯示層的顯示模式配置為2D模式。此外,為避免用戶將顯示模式切換為當(dāng)前顯示屏無法支持的3D模式,本實(shí)施例還屏蔽顯示模式的切換開關(guān),使用戶不能進(jìn)行顯示模式切換的操作。步驟S33,調(diào)用DirectFB庫,根據(jù)顯示模式的歷史設(shè)置記錄設(shè)置游戲顯示層的顯示模式。本實(shí)施例將用戶每次玩游戲時(shí)游戲顯示層的顯示模式記錄到歷史設(shè)置記錄中,作為用戶使用習(xí)慣信息,通過統(tǒng)計(jì)歷史設(shè)置記錄中記錄的顯示模式數(shù)量來進(jìn)行設(shè)置,可滿足不同用戶的習(xí)慣和愛好需求,提高用戶體驗(yàn)。如圖3所示,圖3為本發(fā)明一實(shí)施例的游戲顯示模式自適應(yīng)切換方法中根據(jù)歷史設(shè)置記錄設(shè)置顯示模式的流程圖,步驟S33具體包括步驟S331,比較顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量與3D模式數(shù)量大小;當(dāng)2D模式數(shù)量大于3D模式數(shù)量時(shí),執(zhí)行步驟S332 ;當(dāng)2D模式數(shù)量小于3D模式數(shù)量時(shí), 執(zhí)行步驟S333 ;當(dāng)2D模式數(shù)量等于3D模式數(shù)量時(shí),執(zhí)行步驟S334 ;步驟S332,調(diào)用DirectFB庫,將游戲顯示層的顯示模式設(shè)置為2D模式;步驟S333,調(diào)用DirectFB庫,將游戲顯示層的顯示模式設(shè)置為3D模式;步驟S334,調(diào)用DirectFB庫,將游戲顯示層的顯示模式設(shè)置為歷史設(shè)置記錄中最后一次記錄的顯示模式。本實(shí)施例對(duì)于3D屏的電視,可同時(shí)支持2D模式和3D模式的游戲顯示,因此,可將用戶使用習(xí)慣信息作為游戲顯示模式初始化配置的條件,通過對(duì)以往用戶在進(jìn)行游戲時(shí)通常采用的顯示模式進(jìn)行統(tǒng)計(jì),以獲取用戶習(xí)慣信息,根據(jù)統(tǒng)計(jì)結(jié)果進(jìn)行設(shè)置,使之更符合用戶的習(xí)慣和愛好,提高用戶體驗(yàn)。如圖4所示,圖4為本發(fā)明另一實(shí)施例的游戲顯示模式自適應(yīng)切換方法中設(shè)置顯示模式的流程圖,步驟S33之后還包括步驟S34,將本次設(shè)置的顯示模式記錄到顯示模式的歷史設(shè)置記錄中。本實(shí)施例每次啟動(dòng)游戲進(jìn)行初始化配置顯示模式后,增加一條對(duì)應(yīng)顯示模式的記錄。由于系統(tǒng)資源有限,顯示模式記錄不能以不斷追加的形式添加到文件中;同時(shí),隨著顯示模式記錄數(shù)的增加,初始化配置顯示模式時(shí)系統(tǒng)用于統(tǒng)計(jì)顯示模式記錄數(shù)的時(shí)間也會(huì)增加。因此,在這里可采取設(shè)定記錄數(shù)上限的方式來記錄用戶使用游戲習(xí)慣的信息,當(dāng)歷史設(shè)置記錄文件中的顯示模式記錄數(shù)大于設(shè)定的上限值時(shí),在增加一條記錄時(shí),同時(shí)刪除最前面的一條記錄,使總的記錄數(shù)總是不大于所設(shè)定的上限值。這個(gè)上限值的選擇,一方面要權(quán)衡統(tǒng)計(jì)信息的有效性和系統(tǒng)的資源配置,從統(tǒng)計(jì)的角度來說,記錄數(shù)越多,越能正確反映用戶的真實(shí)習(xí)慣,但消耗的存儲(chǔ)資源也會(huì)更多,進(jìn)行統(tǒng)計(jì)比較也需要花費(fèi)更多的時(shí)間。因此, 對(duì)于高端機(jī),可以把這個(gè)上限值定得大一些;反之,則需要把這個(gè)上限值定得小一些。如圖5所示,圖5為本發(fā)明另一實(shí)施例中游戲顯示模式自適應(yīng)切換方法的流程圖, 步驟S30之后還包括步驟S50,當(dāng)有視頻片頭時(shí),根據(jù)顯示屏類型播放視頻片頭。
如圖6所示,圖6為本發(fā)明另一實(shí)施例的游戲顯示模式自適應(yīng)切換方法中播放視頻片頭的流程圖,步驟S50具體包括步驟S51,判斷顯示屏類型;當(dāng)顯示屏類型為2D屏?xí)r,執(zhí)行步驟S52 ;當(dāng)顯示屏類型為3D屏?xí)r,執(zhí)行步驟S53 ;步驟S52,調(diào)用播放器播放2D視頻片頭;步驟S53,判斷視頻片頭的分屏格式,分屏格式包括左右分屏和上下分屏;當(dāng)視頻片頭的分屏格式為左右分屏?xí)r,執(zhí)行步驟S54;當(dāng)視頻片頭的分屏格式為上下分屏?xí)r,執(zhí)行步驟S55 ;步驟S54,設(shè)置顯示層的3D格式為左右分屏,執(zhí)行步驟S56 ;步驟S55,設(shè)置顯示層的3D格式為上下分屏,執(zhí)行步驟S56。 步驟S56,調(diào)用播放器播放3D視頻片頭;步驟S57,判斷游戲與視頻片頭的3D格式是否一致;如果是,則執(zhí)行步驟S40 ;如果否,則執(zhí)行步驟S58;步驟S58,調(diào)用DirectFB庫重新設(shè)置顯示層的3D格式。本實(shí)施例自動(dòng)播放游戲視頻片頭,并通過判斷視頻片頭與游戲界面的3D格式是否一致,對(duì)顯示層3D格式自動(dòng)設(shè)置,以確保整個(gè)游戲過程中正確顯示3D畫面,保證畫面顯示質(zhì)量,提高用戶體驗(yàn)。如圖7所示,圖7為本發(fā)明再一實(shí)施例中游戲顯示模式自適應(yīng)切換方法的流程圖, 步驟S40之后還包括步驟S61,當(dāng)顯示屏類型為3D屏且接收到顯示模式切換命令時(shí),調(diào)用DirectFB庫, 切換游戲顯示層的顯示模式,重新配置游戲顯示層的繪制參數(shù),并重新繪制游戲界面;步驟S62,將本次切換的顯示模式記錄到顯示模式的歷史設(shè)置記錄中。本實(shí)施例中,當(dāng)電視顯示屏類型為3D屏?xí)r,游戲界面上可以看到顯示模式切換開關(guān),用戶在進(jìn)入游戲界面后可以通過該開關(guān)將顯示模式在2D模式或3D模式之間進(jìn)行切換, 用戶通過輸入設(shè)備發(fā)出顯示模式切換命令,輸入設(shè)備包括遙控器、手柄等,將接收到的顯示模式切換命令存入事件緩存隊(duì)列,電視系統(tǒng)從事件緩存隊(duì)列取出顯示模式切換命令,根據(jù)顯示模式切換命令修改顯示模式,并記錄用戶的切換歷史,即用戶的習(xí)慣信息,作為以后初始化配置顯示模式的統(tǒng)計(jì)依據(jù)。如圖8所示,圖8為本發(fā)明又一實(shí)施例中游戲顯示模式自適應(yīng)切換方法的流程圖, 步驟S40之后還包括步驟S70,當(dāng)顯示屏類型為3D屏且退出游戲時(shí),將顯示層的顯示模式切換回2D模式。本實(shí)施例中,為了確保不影響其它應(yīng)用的顯示,在游戲結(jié)束時(shí)通常將顯示層的顯示模式自動(dòng)切換回2D模式。如圖9所示,圖9為本發(fā)明一實(shí)施例中游戲顯示模式自適應(yīng)切換裝置的結(jié)構(gòu)示意圖,該實(shí)施例提到的游戲顯示模式自適應(yīng)切換裝置,包括屏類型獲取模塊10,用于獲取顯示屏類型,顯示屏類型包括2D屏和3D屏;顯示層配置模塊20,用于調(diào)用DirectFB庫獲取游戲顯示層,并根據(jù)顯示屏類型配置游戲顯示層的繪制參數(shù);
模式設(shè)置模塊30,用于調(diào)用DirectFB庫,根據(jù)顯示屏類型設(shè)置游戲顯示層的顯示模式;繪制模塊40,用于調(diào)用DirectFB庫,根據(jù)繪制參數(shù)和顯示模式在游戲顯示層上繪制游戲界面。本實(shí)施例在啟動(dòng)游戲時(shí),屏類型獲取模塊10調(diào)用系統(tǒng)接口獲取電視顯示屏的類型,屏類型獲取模塊10通過讀取電視顯示屏的參數(shù)信息就可以知道使用的是2D屏還是3D 屏,此時(shí)需保證燒錄到電視上的顯示屏參數(shù)信息是正確的,否則游戲就可能無法取得正確的顯示屏類型。由于DirectFB庫依靠于圖形硬件可以有一個(gè)或者多個(gè)顯示層,不同的顯示層在顯存中占據(jù)著不同的區(qū)域,通過顯示層配置模塊20調(diào)用DirectFB的Get Display LayerO函數(shù),就可以取得游戲要用到的顯示層,再根據(jù)當(dāng)前顯示屏類型,調(diào)用相應(yīng)的配置函數(shù)完成分辨率、顏色等參數(shù)的配置。本實(shí)施例中,如果電視顯示屏是2D屏,由于其只能支持2D顯示模式,所以模式設(shè)置模塊30將游戲顯示層的顯示模式配置為2D ;如果用戶的電視顯示屏是3D屏,則模式設(shè)置模塊30可將顯示層的顯示模式配置為2D,也可將其配置為 3D。通常情況下,考慮到使用3D屏的用戶可能更趨向于體驗(yàn)3D場(chǎng)景,因此在用戶首次使用游戲時(shí),模式設(shè)置模塊30初始化配置顯示模式為3D模式,之后的初始化配置顯示模式則可根據(jù)前一次用戶設(shè)置或統(tǒng)計(jì)用戶使用習(xí)慣信息來進(jìn)行確定。本實(shí)施例根據(jù)用戶電視顯示屏的實(shí)際屏幕類型,自動(dòng)將游戲顯示層配置為電視顯示屏可以支持的顯示模式,避免了因2D屏不支持3D游戲而造成的游戲無法運(yùn)行或電視系統(tǒng)崩潰的情況。且顯示模式配置過程均在后臺(tái)操作,提高了用戶體驗(yàn)。同時(shí),本實(shí)施例基于 DirectFB庫進(jìn)行游戲開發(fā)設(shè)計(jì),為應(yīng)用程序開發(fā)者提供了方便,減少了硬件的驅(qū)動(dòng)開發(fā)者的工作量,提高了系統(tǒng)的可移植性。本發(fā)明實(shí)施例中,模式設(shè)置模塊30具體用于當(dāng)顯示屏類型為2D屏?xí)r,調(diào)用DirectFB庫,將游戲顯示層的顯示模式設(shè)置為2D 模式;屏蔽顯示模式的切換開關(guān);當(dāng)顯示屏類型為3D屏?xí)r,調(diào)用DirectFB庫,根據(jù)顯示模式的歷史設(shè)置記錄設(shè)置游戲顯示層的顯示模式。本實(shí)施例中,如果電視顯示屏是2D屏,由于其只能支持2D顯示模式,所以模式設(shè)置模塊30將游戲顯示層的顯示模式配置為2D模式。此外,為避免用戶將顯示模式切換為當(dāng)前顯示屏無法支持的3D模式,模式設(shè)置模塊30還屏蔽顯示模式的切換開關(guān),使用戶不能進(jìn)行顯示模式切換的操作。模式設(shè)置模塊30通過統(tǒng)計(jì)歷史設(shè)置記錄中記錄的顯示模式數(shù)量來進(jìn)行設(shè)置,可滿足不同用戶的習(xí)慣和愛好需求,提高用戶體驗(yàn)。本發(fā)明實(shí)施例中,模式設(shè)置模塊30還用于當(dāng)顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量大于3D模式數(shù)量時(shí),調(diào)用 DirectFB庫,將游戲顯示層的顯示模式設(shè)置為2D模式;當(dāng)顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量小于3D模式數(shù)量時(shí),調(diào)用 DirectFB庫,將游戲顯示層的顯示模式設(shè)置為3D模式;當(dāng)顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量等于3D模式數(shù)量時(shí),調(diào)用 DirectFB庫,將游戲顯示層的顯示模式設(shè)置為歷史設(shè)置記錄中最后一次記錄的顯示模式。本實(shí)施例對(duì)于3D屏的電視,可同時(shí)支持2D模式和3D模式的游戲顯示,因此,可將用戶使用習(xí)慣信息作為游戲顯示模式初始化配置的條件,通過模式設(shè)置模塊30對(duì)以往用戶在進(jìn)行游戲時(shí)通常采用的顯示模式進(jìn)行統(tǒng)計(jì),以獲取用戶習(xí)慣信息,根據(jù)統(tǒng)計(jì)結(jié)果進(jìn)行設(shè)置,使之更符合用戶的習(xí)慣和愛好,提高用戶體驗(yàn)。本發(fā)明實(shí)施例中,模式設(shè)置模塊30還用于當(dāng)顯示屏類型為3D屏且退出游戲時(shí),將顯示層的顯示模式切換回2D模式。本實(shí)施例中,為了確保不影響其它應(yīng)用的顯示,在游戲結(jié)束時(shí),模式設(shè)置模塊30 通常將顯示層的顯示模式自動(dòng)切換回2D模式。如圖10所示,圖10為本發(fā)明另一實(shí)施例中游戲顯示模式自適應(yīng)切換裝置的結(jié)構(gòu)示意圖,游戲顯示模式自適應(yīng)切換裝置還包括記錄模塊50,用于當(dāng)顯示屏類型為3D屏?xí)r,將本次設(shè)置的顯示模式記錄到顯示模式的歷史設(shè)置記錄中。本實(shí)施例每次啟動(dòng)游戲進(jìn)行初始化配置顯示模式后,記錄模塊50增加一條對(duì)應(yīng)顯示模式的記錄。由于系統(tǒng)資源有限,顯示模式記錄不能以不斷追加的形式添加到記錄模塊50中;同時(shí),隨著顯示模式記錄數(shù)的增加,初始化配置顯示模式時(shí),模式設(shè)置模塊30用于統(tǒng)計(jì)顯示模式記錄數(shù)的時(shí)間也會(huì)增加。因此,記錄模塊50可采取設(shè)定記錄數(shù)上限的方式來記錄用戶使用游戲習(xí)慣的信息,當(dāng)歷史設(shè)置記錄文件中的顯示模式記錄數(shù)大于設(shè)定的上限值時(shí),記錄模塊50在增加一條記錄時(shí),同時(shí)刪除最前面的一條記錄,使總的記錄數(shù)總是不大于所設(shè)定的上限值。這個(gè)上限值的選擇,一方面要權(quán)衡統(tǒng)計(jì)信息的有效性和系統(tǒng)的資源配置,從統(tǒng)計(jì)的角度來說,記錄數(shù)越多,越能正確反映用戶的真實(shí)習(xí)慣,但消耗的存儲(chǔ)資源也會(huì)更多,進(jìn)行統(tǒng)計(jì)比較也需要花費(fèi)更多的時(shí)間。因此,對(duì)于高端機(jī),可以把這個(gè)上限值定得大一些;反之,則需要把這個(gè)上限值定得小一些。本發(fā)明實(shí)施例中,模式設(shè)置模塊30還用于,當(dāng)顯示屏類型為3D屏且接收到顯示模式切換命令時(shí),調(diào)用DirectFB庫,切換游戲顯示層的顯示模式;顯示層配置模塊20還用于,當(dāng)顯示屏類型為3D屏且接收到顯示模式切換命令時(shí), 調(diào)用DirectFB庫重新配置游戲顯示層的繪制參數(shù);繪制模塊40還用于,調(diào)用DirectFB庫,根據(jù)新配置的繪制參數(shù)和新切換的顯示模式重新繪制游戲界面;記錄模塊50還用于,將本次切換的顯示模式記錄到顯示模式的歷史設(shè)置記錄中。本實(shí)施例中,當(dāng)電視顯示屏類型為3D屏?xí)r,游戲界面上可以看到顯示模式切換開關(guān),用戶在進(jìn)入游戲界面后可以通過該開關(guān)將顯示模式在2D模式或3D模式之間進(jìn)行切換, 用戶通過輸入設(shè)備發(fā)出顯示模式切換命令,輸入設(shè)備包括遙控器、手柄等,電視系統(tǒng)將接收到的顯示模式切換命令存入事件緩存隊(duì)列,從事件緩存隊(duì)列取出顯示模式切換命令,模式設(shè)置模塊30根據(jù)顯示模式切換命令修改顯示模式,并通過記錄模塊50記錄用戶的切換歷史,即用戶的習(xí)慣信息,作為以后初始化配置顯示模式的統(tǒng)計(jì)依據(jù)。如圖11所示,圖11為本發(fā)明再一實(shí)施例中游戲顯示模式自適應(yīng)切換裝置的結(jié)構(gòu)示意圖,游戲顯示模式自適應(yīng)切換裝置還包括視頻播放模塊60,用于當(dāng)有視頻片頭時(shí),根據(jù)顯示屏類型播放視頻片頭。 視頻播放模塊60具體用于當(dāng)顯示屏類型為2D屏?xí)r,調(diào)用播放器播放視頻片頭;
當(dāng)顯示屏類型為3D屏且視頻片頭的分屏格式為左右分屏?xí)r,設(shè)置顯示層的3D格式為左右分屏,并調(diào)用播放器播放視頻片頭;當(dāng)顯示屏類型為3D屏且視頻片頭的分屏格式為上下分屏?xí)r,設(shè)置顯示層的3D格式為上下分屏,并調(diào)用播放器播放視頻片頭;游戲顯示模式自適應(yīng)切換裝置還包括格式切換模塊70,用于當(dāng)顯示屏類型為3D屏且游戲與視頻片頭的3D格式不一致時(shí),調(diào)用DirectFB庫重新設(shè)置顯示層的3D格式。本實(shí)施例通過視頻播放模塊60自動(dòng)播放游戲視頻片頭,并通過格式切換模塊70 判斷視頻片頭與游戲界面的3D格式是否一致,對(duì)顯示層3D格式自動(dòng)設(shè)置,以確保整個(gè)游戲過程中正確顯示3D畫面,保證畫面顯示質(zhì)量,提高用戶體驗(yàn)。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種游戲顯示模式自適應(yīng)切換方法,其特征在于,包括步驟獲取顯示屏類型,所述顯示屏類型包括2D屏和3D屏;調(diào)用DirectFB庫獲取游戲顯示層,并根據(jù)所述顯示屏類型配置所述游戲顯示層的繪制參數(shù);調(diào)用所述DirectFB庫,根據(jù)所述顯示屏類型設(shè)置所述游戲顯示層的顯示模式;調(diào)用所述DirectFB庫,根據(jù)所述繪制參數(shù)和顯示模式在所述游戲顯示層上繪制游戲界面。
2.根據(jù)權(quán)利要求I所述的游戲顯示模式自適應(yīng)切換方法,其特征在于,所述調(diào)用 DirectFB庫,根據(jù)所述顯示屏類型設(shè)置所述游戲顯示層的顯示模式具體包括當(dāng)所述顯示屏類型為2D屏?xí)r,調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式;當(dāng)所述顯示屏類型為3D屏?xí)r,調(diào)用所述DirectFB庫,根據(jù)所述顯示模式的歷史設(shè)置記錄設(shè)置所述游戲顯示層的顯示模式。
3.根據(jù)權(quán)利要求2所述的游戲顯示模式自適應(yīng)切換方法,其特征在于,所述調(diào)用 DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式之后還包括屏蔽所述顯示模式的切換開關(guān)。
4.根據(jù)權(quán)利要求2所述的游戲顯示模式自適應(yīng)切換方法,其特征在于,所述調(diào)用 DirectFB庫,根據(jù)所述顯示模式的歷史設(shè)置記錄設(shè)置所述游戲顯示層的顯示模式具體包括當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量大于3D模式數(shù)量時(shí),調(diào)用所述 DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式;當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量小于3D模式數(shù)量時(shí),調(diào)用所述 DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為3D模式;當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量等于3D模式數(shù)量時(shí),調(diào)用所述 DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為所述歷史設(shè)置記錄中最后一次記錄的顯示模式。
5.根據(jù)權(quán)利要求2或4所述的游戲顯示模式自適應(yīng)切換方法,其特征在于,所述調(diào)用 DirectFB庫,根據(jù)所述顯示模式的歷史設(shè)置記錄設(shè)置所述游戲顯示層的顯示模式之后還包括將本次設(shè)置的顯示模式記錄到所述顯示模式的歷史設(shè)置記錄中。
6.根據(jù)權(quán)利要求2所述的游戲顯示模式自適應(yīng)切換方法,其特征在于,所述調(diào)用 DirectFB庫,根據(jù)所述繪制參數(shù)和顯示模式在所述游戲顯示層上繪制游戲界面之后還包括當(dāng)所述顯示屏類型為3D屏且接收到顯示模式切換命令時(shí),調(diào)用所述DirectFB庫,切換所述游戲顯示層的顯示模式,重新配置所述游戲顯示層的繪制參數(shù),并重新繪制所述游戲界面;將本次切換的顯示模式記錄到所述顯示模式的歷史設(shè)置記錄中。
7.一種游戲顯示模式自適應(yīng)切換裝置,其特征在于,包括屏類型獲取模塊,用于獲取顯示屏類型,所述顯示屏類型包括2D屏和3D屏;顯示層配置模塊,用于調(diào)用DirectFB庫獲取游戲顯示層,并根據(jù)所述顯示屏類型配置所述游戲顯示層的繪制參數(shù);模式設(shè)置模塊,用于調(diào)用所述DirectFB庫,根據(jù)所述顯示屏類型設(shè)置所述游戲顯示層的顯示模式;繪制模塊,用于調(diào)用所述DirectFB庫,根據(jù)所述繪制參數(shù)和顯示模式在所述游戲顯示層上繪制游戲界面。
8.根據(jù)權(quán)利要求7所述的游戲顯示模式自適應(yīng)切換裝置,其特征在于,所述模式設(shè)置模塊具體用于當(dāng)所述顯示屏類型為2D屏?xí)r,調(diào)用所述DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式;當(dāng)所述顯示屏類型為3D屏?xí)r,調(diào)用所述DirectFB庫,根據(jù)所述顯示模式的歷史設(shè)置記錄設(shè)置所述游戲顯示層的顯示模式。
9.根據(jù)權(quán)利要求8所述的游戲顯示模式自適應(yīng)切換裝置,其特征在于,所述模式設(shè)置模塊還用于,當(dāng)所述顯示屏類型為2D屏?xí)r,屏蔽所述顯示模式的切換開關(guān)。
10.根據(jù)權(quán)利要求8所述的游戲顯示模式自適應(yīng)切換裝置,其特征在于,所述模式設(shè)置模塊還用于當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量大于3D模式數(shù)量時(shí),調(diào)用所述 DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為2D模式;當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量小于3D模式數(shù)量時(shí),調(diào)用所述 DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為3D模式;當(dāng)所述顯示模式的歷史設(shè)置記錄中記錄的2D模式數(shù)量等于3D模式數(shù)量時(shí),調(diào)用所述 DirectFB庫,將所述游戲顯示層的顯示模式設(shè)置為所述歷史設(shè)置記錄中最后一次記錄的顯示模式。
11.根據(jù)權(quán)利要求8或10所述的游戲顯示模式自適應(yīng)切換裝置,其特征在于,還包括 記錄模塊,用于當(dāng)所述顯示屏類型為3D屏?xí)r,將本次設(shè)置的顯示模式記錄到所述顯示模式的歷史設(shè)置記錄中。
12.根據(jù)權(quán)利要求8所述的游戲顯示模式自適應(yīng)切換裝置,其特征在于,所述模式設(shè)置模塊還用于,當(dāng)所述顯示屏類型為3D屏且接收到顯示模式切換命令時(shí), 調(diào)用所述DirectFB庫,切換所述游戲顯示層的顯示模式;所述顯示層配置模塊還用于,當(dāng)所述顯示屏類型為3D屏且接收到顯示模式切換命令時(shí),調(diào)用所述DirectFB庫重新配置所述游戲顯示層的繪制參數(shù);所述繪制模塊還用于,調(diào)用DirectFB庫,根據(jù)新配置的繪制參數(shù)和新切換的顯示模式重新繪制所述游戲界面;所述記錄模塊還用于,將本次切換的顯示模式記錄到所述顯示模式的歷史設(shè)置記錄中。
全文摘要
本發(fā)明公開了一種游戲顯示模式自適應(yīng)切換方法和裝置,其方法包括步驟獲取顯示屏類型,所述顯示屏類型包括2D屏和3D屏;調(diào)用DirectFB庫獲取游戲顯示層,并根據(jù)所述顯示屏類型配置所述游戲顯示層的繪制參數(shù);調(diào)用所述DirectFB庫,根據(jù)所述顯示屏類型設(shè)置所述游戲顯示層的顯示模式;調(diào)用所述DirectFB庫,根據(jù)所述繪制參數(shù)和顯示模式在所述游戲顯示層上繪制游戲界面。本發(fā)明根據(jù)顯示屏類型自動(dòng)設(shè)置顯示層的顯示模式,避免了因2D屏不支持3D游戲而造成的游戲無法運(yùn)行或電視系統(tǒng)崩潰的情況;根據(jù)用戶使用習(xí)慣設(shè)置顯示模式,可滿足不同用戶的習(xí)慣和愛好需求,提高用戶體驗(yàn)。
文檔編號(hào)H04N13/00GK102611902SQ20121002252
公開日2012年7月25日 申請(qǐng)日期2012年2月1日 優(yōu)先權(quán)日2012年2月1日
發(fā)明者劉佑軒 申請(qǐng)人:深圳市酷開網(wǎng)絡(luò)科技有限公司