本發(fā)明實(shí)施方式涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種彈幕處理方法、處理裝置及其電子設(shè)備。
背景技術(shù):
在各類型視頻的播放過程中,為了便于用戶之間進(jìn)行互動(dòng),提高觀看視頻的樂趣,會(huì)為用戶提供彈幕功能。
在全景視頻或者其他類型的視頻中,實(shí)現(xiàn)彈幕功能需要完成生成彈幕內(nèi)容以及渲染彈幕兩個(gè)操作步驟。即首先將用戶輸入的彈幕內(nèi)容生成在畫布上,然后在渲染素材庫(kù)或者其他數(shù)據(jù)庫(kù)中選擇相應(yīng)的模板,例如選擇彈幕的顏色、字體、扭曲效果或者其他的顯示效果。最后,將彈幕渲染至屏幕上,顯示出對(duì)應(yīng)的顏色、字體或者其他顯示效果。
現(xiàn)有技術(shù)中,由于渲染彈幕和生成彈幕這兩個(gè)操作步驟的數(shù)據(jù)處理特點(diǎn)不同,通常由不同類型的處理器(例如中央處理和圖形處理器)進(jìn)行處理,兩個(gè)操作步驟之間的處理速度存在著差異。
在實(shí)現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)存在以下問題:當(dāng)渲染彈幕和生成彈幕兩個(gè)動(dòng)作在一塊畫布上同時(shí)執(zhí)行時(shí),由于渲染彈幕和生成彈幕的處理速度不相同,在彈幕渲染時(shí)容易造成卡頓,影響視頻播放的流暢程度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施方式主要解決的技術(shù)問題是提供一種彈幕處理方法、處理裝置及其電子設(shè)備,能夠解決現(xiàn)有技術(shù)中同時(shí)執(zhí)行渲染彈幕和生成彈幕操作,造成卡頓的問題。
為解決上述技術(shù)問題,本發(fā)明實(shí)施方式采用的一個(gè)技術(shù)方案是:提供一種彈幕處理方法。
其中,所述方法包括:根據(jù)畫布的狀態(tài),執(zhí)行對(duì)應(yīng)的彈幕處理,其中,所述畫布的狀態(tài)包括用于表示彈幕待渲染的第一狀態(tài)和表示彈幕待生成的第二狀態(tài),所述彈幕處理包括與第一狀態(tài)對(duì)應(yīng)的渲染彈幕和與第二狀態(tài)對(duì)應(yīng)的生成彈幕;
每次完成所述彈幕處理后,切換所述畫布的狀態(tài)。
可選地,所述生成彈幕具體包括:獲取彈幕生成指令;對(duì)所述第二狀態(tài)的畫布進(jìn)行處理,在所述畫布上生成與所述彈幕生成指令對(duì)應(yīng)的彈幕。
可選地,所述渲染彈幕具體包括:對(duì)所述第一狀態(tài)的畫布進(jìn)行處理,渲染畫布上已生成的彈幕。
可選地,所述畫布至少為兩個(gè)。
可選地,所述渲染彈幕,具體包括:選中最早切換為第一狀態(tài)的畫布;渲染所述選中的畫布上已生成的彈幕。
為解決上述技術(shù)問題,本發(fā)明實(shí)施方式采用的另一個(gè)技術(shù)方案是:提供一種彈幕的處理裝置,其中,所述處理裝置包括:
彈幕處理模塊,根據(jù)畫布的狀態(tài),執(zhí)行對(duì)應(yīng)的彈幕處理,其中,所述畫布的狀態(tài)包括用于表示彈幕待渲染的第一狀態(tài)和表示彈幕待生成的第二狀態(tài),所述彈幕處理包括與第一狀態(tài)對(duì)應(yīng)的渲染彈幕和與第二狀態(tài)對(duì)應(yīng)的生成彈幕;
狀態(tài)切換模塊,用于每次完成所述彈幕處理后,切換所述畫布的狀態(tài)。
可選地,所述彈幕處理模塊具體包括:指令獲取單元,用于獲取彈幕生成指令;彈幕生成單元,用于對(duì)所述第二狀態(tài)的畫布進(jìn)行處理,在所述畫布上生成與所述彈幕生成指令對(duì)應(yīng)的彈幕。
可選地,所述彈幕處理模塊具體包括:彈幕渲染單元,用于對(duì)所述第一狀態(tài)的畫布進(jìn)行處理,渲染畫布上已生成的彈幕。
可選地,所述畫布至少為兩個(gè)。
可選地,所述彈幕渲染單元具體用于:選中最早切換為第一狀態(tài)的畫布;渲染所述選中的畫布上已生成的彈幕。
為解決上述技術(shù)問題,本發(fā)明實(shí)施方式采用的另一個(gè)技術(shù)方案是提供一種電子設(shè)備,其中,所述電子設(shè)備包括:
至少一個(gè)或多個(gè)處理器;以及,
存儲(chǔ)器;其中,
所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)或多個(gè)處理器執(zhí)行的指令程序,所述指令程序被設(shè)置為執(zhí)行:
根據(jù)畫布的狀態(tài),執(zhí)行對(duì)應(yīng)的彈幕處理,其中,所述畫布的狀態(tài)包括用于表示彈幕待渲染的第一狀態(tài)和表示彈幕待生成的第二狀態(tài),所述彈幕處理包括與第一狀態(tài)對(duì)應(yīng)的渲染彈幕和與第二狀態(tài)對(duì)應(yīng)的生成彈幕;
每次完成所述彈幕處理后,切換所述畫布的狀態(tài)。
本發(fā)明實(shí)施方式的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明實(shí)施方式的畫布具有不同的狀態(tài),根據(jù)畫布的狀態(tài)選擇執(zhí)行對(duì)應(yīng)的彈幕操作,避免不同的彈幕操作在同一畫布上同時(shí)執(zhí)行,保證了彈幕渲染的流暢進(jìn)行,提升了用戶體驗(yàn)。
附圖說明
圖1是本發(fā)明實(shí)施例提供的一種彈幕處理方法的方法流程圖;
圖2是本發(fā)明另一實(shí)施例提供的一種彈幕處理方法的的方法流程圖;
圖3是本發(fā)明實(shí)施例提供的圖2中步驟S106的方法流程圖;
圖4是本發(fā)明實(shí)施例提供的一種彈幕處理裝置的裝置示意圖;
圖5是本發(fā)明實(shí)施例提供的一種彈幕處理裝置的彈幕處理模塊的裝置示意圖;
圖6是本發(fā)明實(shí)施例提供的一種電子設(shè)備的示意圖;
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實(shí)施例的彈幕處理方法,可以應(yīng)用于各種視頻信息流播放的彈幕處理過程中,例如全景視頻、電視節(jié)目視頻、網(wǎng)絡(luò)視頻等各類型的視頻。
應(yīng)用本發(fā)明實(shí)施例彈幕處理方法生成的彈幕,可以呈現(xiàn)在現(xiàn)有各種類型的視頻播放設(shè)備中,例如游戲機(jī)、臺(tái)式計(jì)算機(jī)、智能手機(jī)、平板電腦、電子閱讀器以及其他顯示終端或者用戶交互設(shè)備中。
在本發(fā)明實(shí)施例中,彈幕處理可以分為彈幕生成和彈幕渲染兩個(gè)步驟。在此,采用術(shù)語(yǔ)“畫布”表示彈幕處理的處理對(duì)象。彈幕處理的操作均以畫布為對(duì)象,在畫布上執(zhí)行。例如,彈幕在畫布上生成,并將其渲染在視頻播放設(shè)備的顯示屏幕上,形成最終的具有預(yù)定字體或者其它顯示效果的彈幕。當(dāng)然,在彈幕渲染完成后,同一畫布作為處理對(duì)象,還可以重新被使用,在畫布上生成另一新的彈幕。
圖1為本發(fā)明實(shí)施例提供的一種彈幕處理方法,請(qǐng)參閱圖1,該彈幕處理方法包括:
S101:根據(jù)畫布的狀態(tài),執(zhí)行對(duì)應(yīng)的彈幕處理。其中,所述畫布的狀態(tài)包括用于表示彈幕待渲染的第一狀態(tài)和表示彈幕待生成的第二狀態(tài),所述彈幕處理包括與第一狀態(tài)對(duì)應(yīng)的渲染彈幕和與第二狀態(tài)對(duì)應(yīng)的生成彈幕。
如上所述,在本實(shí)施例中,彈幕處理可以分為彈幕生成和彈幕渲染兩個(gè)步驟。彈幕生成是指生成用戶輸入指令相對(duì)應(yīng)文字內(nèi)容的彈幕。彈幕渲染包括對(duì)已生成的彈幕進(jìn)行渲染,并在視頻中形成最終的目標(biāo)顯示效果(例如特殊的字體、動(dòng)畫效果等)。
相對(duì)應(yīng)地,該畫布的狀態(tài)也可以包括兩個(gè),在本實(shí)施例中,包括用于表示彈幕待渲染的第一狀態(tài)和表示彈幕待生成的第二狀態(tài)。當(dāng)然,所述畫布狀態(tài)也可以用其它不同的狀態(tài)命名,例如鎖定狀態(tài)和解鎖狀態(tài),與彈幕處理操作相對(duì)應(yīng)。
該畫布狀態(tài)可以是在在畫布上設(shè)置預(yù)定的標(biāo)識(shí)來表示畫布的當(dāng)前狀態(tài)。
彈幕處理可以包括與第一狀態(tài)對(duì)應(yīng)的渲染彈幕和與第二狀態(tài)對(duì)應(yīng)的生成彈幕。亦即判斷當(dāng)前畫布的狀態(tài)為第一狀態(tài)還是第二狀態(tài)。若畫布為第一狀態(tài)時(shí),則執(zhí)行彈幕渲染操作,若畫布為第二狀態(tài)時(shí),則執(zhí)行彈幕生成操作。
S103:每次完成所述彈幕處理后,切換所述畫布的狀態(tài)。
在本實(shí)施例中,畫布的狀態(tài)為兩個(gè),包括第一狀態(tài)和第二狀態(tài)。如上所述,“畫布”為生成彈幕的載體。在生成彈幕的過程中,不斷的循環(huán)使用(即在彈幕渲染完成后,又重新被調(diào)用,繼續(xù)在彈幕上生成新的彈幕)。因此,在畫布在經(jīng)過彈幕處理完畢后,畫布即由當(dāng)前的狀態(tài)切換為另一狀態(tài)。
例如,首先在畫布(畫布的狀態(tài)為第二狀態(tài))上生成內(nèi)容為“真好看”的第一彈幕。然后,調(diào)用該畫布(此時(shí)畫布的狀態(tài)切換為第一狀態(tài))對(duì)第一彈幕進(jìn)行渲染,在視頻播放設(shè)備中顯示出預(yù)定的視覺效果。然后,再繼續(xù)調(diào)用該畫布(畫布的狀態(tài)又切換為第二狀態(tài)),在畫布上重新生成內(nèi)容為“不好看”的第二彈幕。然后,對(duì)調(diào)用該畫布對(duì)第二彈幕進(jìn)行渲染。最后,重復(fù)循環(huán)上述操作,不斷的在視頻播放過程中生成彈幕。
現(xiàn)有技術(shù)中,可能會(huì)出現(xiàn)同時(shí)調(diào)用同一個(gè)畫布,執(zhí)行不同彈幕處理的情況。尤其是,設(shè)置有多個(gè)彈幕的情況下,若同時(shí)調(diào)用多個(gè)畫布進(jìn)行彈幕操作時(shí),出現(xiàn)該情況的概率非常高。
本發(fā)明實(shí)施例的彈幕處理方法,對(duì)畫布進(jìn)行了狀態(tài)區(qū)分,根據(jù)畫布的不同狀態(tài),執(zhí)行相對(duì)應(yīng)的彈幕操作,這樣使得同一個(gè)畫布不會(huì)同時(shí)被調(diào)用,執(zhí)行不同的彈幕操作。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例的彈幕處理方法,不會(huì)同時(shí)調(diào)用同一個(gè)畫布,出現(xiàn)彈幕渲染需要等待,并進(jìn)而導(dǎo)致卡頓等情況的發(fā)生,影響用戶體驗(yàn)和使用。
圖2為本發(fā)明另一實(shí)施例的彈幕處理方法。請(qǐng)參閱圖2,該彈幕處理方法具體包括如下步驟:
S102:獲取彈幕生成指令。
該彈幕生成指令可以是通過交互設(shè)備獲取的用戶指令、通過數(shù)據(jù)接口,獲取的外部設(shè)備根據(jù)實(shí)際情況運(yùn)算自動(dòng)生成的指令或者是其它不同方式獲取的指令。
該交互設(shè)備可以是具有按鍵的鍵盤、觸摸屏、獲取語(yǔ)音信息的麥克風(fēng)、獲取用戶手勢(shì)操作的攝像頭或者其它可以采集用戶指令的智能/非智能交互設(shè)備。該外部設(shè)備可以是預(yù)定的服務(wù)器、數(shù)據(jù)庫(kù)或者其它具有一定運(yùn)算能力的電子計(jì)算平臺(tái)。
該彈幕生成指令包括但不限于彈幕的文字內(nèi)容信息以及彈幕的視覺效果(例如字體、動(dòng)作、透明度、大小等)。其中,彈幕的文字內(nèi)容信息可以通過交互式設(shè)備直接采集用戶的輸入內(nèi)容,或者由采集的用戶語(yǔ)音信息轉(zhuǎn)換而成。進(jìn)一步地,也可以是由服務(wù)器提供的提示信息或者其它不同的廣播信息。
彈幕的視覺效果可以根據(jù)用戶指令設(shè)置,也可以采用默認(rèn)的視覺效果或者根據(jù)用戶的歷史使用數(shù)據(jù),計(jì)算后確定。
S104:對(duì)所述第二狀態(tài)的畫布進(jìn)行處理,在所述畫布上生成與所述彈幕生成指令對(duì)應(yīng)的彈幕。
獲取彈幕生成指令后,可以由中央處理器調(diào)用或者抓取一個(gè)或者多個(gè)處于第二狀態(tài)的畫布進(jìn)行處理,在畫布上生成彈幕。
在畫布上生成的彈幕具體由彈幕生成指令所包含的內(nèi)容所決定,包括彈幕的文字內(nèi)容等等。
S106:將畫布的狀態(tài)切換為第一狀態(tài)。畫布的彈幕生成后,仍然需要進(jìn)行圖形渲染操作,才能最終在視頻播放設(shè)備展示,并具有預(yù)定的視覺效果。因此,在畫布上完成彈幕生成操作后,可以將畫布切換為第一狀態(tài)(彈幕待渲染),等待進(jìn)行彈幕渲染操作。
S108:對(duì)所述第一狀態(tài)的畫布進(jìn)行處理,渲染畫布上已生成的彈幕。上述渲染處理操作可以由圖形處理器完成,可以是由中央處理器選擇畫布后,交由圖形處理器完成渲染,或者由圖形處理器主動(dòng)抓取,挑選處于第一狀態(tài)的畫布進(jìn)行渲染操作。。
基于上述步驟,第一狀態(tài)的畫布均為已經(jīng)完成彈幕生成操作的畫布。圖形處理器(GPU)可以調(diào)用第一狀態(tài)的畫布完成渲染操作,不會(huì)發(fā)生中央處理器和圖形處理器同時(shí)調(diào)用畫布,因兩種彈幕處理處理速度不同,導(dǎo)致卡頓等情況發(fā)生。
圖形處理器是與中央處理器具有不同架構(gòu),專用于進(jìn)行圖像渲染的處理器。其處理器速度和處理方式均與中央處理器存在著明顯的差別,若同時(shí)對(duì)同一對(duì)象進(jìn)行處理,會(huì)相互影響,不同任務(wù)進(jìn)程需要等待,造成處理的不流暢和卡頓。
S110:將畫布狀態(tài)切換為第二狀態(tài)。完成彈幕渲染處理后的畫布,彈幕的全部操作已經(jīng)完成。因此,可以將畫布切換為第二狀態(tài),繼續(xù)供中央處理器調(diào)用,在畫布上生成新的彈幕,進(jìn)入下一彈幕生成過程。
在本實(shí)施例中,上述步驟S106和步驟S110的操作可以由中央處理器完成。亦即中央處理器既能夠在畫布上生成彈幕,也能夠切換畫布狀態(tài)。圖形處理器在完成彈幕渲染后,可以向中央處理器響應(yīng),告知中央處理器對(duì)該畫布狀態(tài)進(jìn)行切換。
在本實(shí)施例中,所述畫布可以為兩個(gè)或以上。設(shè)置兩個(gè)或以上的畫布,可以提供較大的緩沖量,生成彈幕操作可以在多個(gè)畫布上連續(xù)進(jìn)行,不會(huì)出現(xiàn)第一狀態(tài)的畫布不足,導(dǎo)致需要等待的情況。相對(duì)應(yīng)地,也可以連續(xù)的在多個(gè)已經(jīng)生成彈幕的畫布上進(jìn)行渲染,不會(huì)出現(xiàn)第二狀態(tài)的畫布不足,需要進(jìn)行等待的情況。通過設(shè)置多個(gè)畫布,兩個(gè)彈幕操作之間無需等待,可以根據(jù)自己的速度連續(xù)生成彈幕或渲染彈幕,能夠提供更快的彈幕處理速度。
具體可以根據(jù)實(shí)際的彈幕生成的速度或者其它視頻處理要求,處理器的處理線程數(shù)等實(shí)際情況,設(shè)置合適數(shù)量的畫布,例如,10個(gè),20個(gè)或者更多/更少的畫布。
在本實(shí)施例中,如上所述,當(dāng)畫布為兩個(gè)或以上時(shí),存在著有多個(gè)處于第一狀態(tài)的畫布供圖形處理器調(diào)用的情況。為了進(jìn)一步的確定畫布的渲染時(shí)序,在本實(shí)施例中,請(qǐng)參閱圖3,步驟S106具體還可以包括如下步驟:
S1062:選中最早切換為第一狀態(tài)的畫布。
一般地,應(yīng)當(dāng)依據(jù)一定的次序,執(zhí)行已經(jīng)完成彈幕生成操作的畫布(第一狀態(tài)的畫布),以避免遺漏某些畫布的彈幕渲染操作。其中,畫布切換為第一狀態(tài)的時(shí)間表示彈幕生成操作執(zhí)行完畢的時(shí)間。
具體可以采用如下方式完成步驟S1062:根據(jù)切換時(shí)間,對(duì)于第一狀態(tài)的畫布進(jìn)行排序,并且將切換時(shí)間在先的排在靠前的位置。然后每次選擇排序在第一位的第一狀態(tài)的畫布。
由于執(zhí)行完彈幕渲染操作后的畫布會(huì)切換為第二狀態(tài)。因此,在每次選擇后,第一狀態(tài)的畫布排序都會(huì)依次前進(jìn)一位。由此,可以依照畫布的彈幕生成時(shí)序,依次的對(duì)其進(jìn)行彈幕渲染。當(dāng)然,也可以采用根據(jù)切換時(shí)間,對(duì)第一狀態(tài)的畫布賦予不同的處理優(yōu)先級(jí)的方法或者其它合適的方法。
S1064:渲染所述選中的畫布上已生成的彈幕。選中最早切換為第一狀態(tài)的畫布后,由圖形處理器進(jìn)行彈幕渲染處理。圖形處理器處理完成后,可以通過向中央處理器響應(yīng)等方式,告知中央處理器彈幕渲染已經(jīng)執(zhí)行完畢,可以切換畫布狀態(tài)。
通過上述選擇最早切換為第一狀態(tài)的畫布,可以保證在畫布上在先生成的彈幕能夠優(yōu)先進(jìn)行彈幕渲染并顯示,也不會(huì)發(fā)生遺漏的情況。
本發(fā)明還提供了一種彈幕處理裝置。圖4為本發(fā)明實(shí)施例的彈幕處理裝置。請(qǐng)參閱圖4,該裝置包括:
彈幕處理模塊100,用于根據(jù)畫布的狀態(tài),執(zhí)行對(duì)應(yīng)的彈幕處理,其中,所述畫布的狀態(tài)包括用于表示彈幕待渲染的第一狀態(tài)和表示彈幕待生成的第二狀態(tài),所述彈幕處理包括與第一狀態(tài)對(duì)應(yīng)的渲染彈幕和與第二狀態(tài)對(duì)應(yīng)的生成彈幕。。
以及狀態(tài)切換模塊200,用于每次完成所述彈幕處理后,切換所述畫布的狀態(tài)。
本發(fā)明實(shí)施例的彈幕處理裝置,對(duì)畫布進(jìn)行了狀態(tài)區(qū)分,并根據(jù)畫布的不同狀態(tài),執(zhí)行相對(duì)應(yīng)的彈幕操作。與現(xiàn)有技術(shù)相比,其能夠避免不同的彈幕操作在同一畫布上同時(shí)執(zhí)行,使彈幕渲染流暢進(jìn)行,提升用戶體驗(yàn)。
圖5為本發(fā)明實(shí)施例的彈幕處理裝置的彈幕處理模塊,請(qǐng)參閱圖5,彈幕處理模塊100具體包括:
指令獲取單元101,用于獲取彈幕生成指令。
彈幕生成單元102,用于對(duì)所述第二狀態(tài)的畫布進(jìn)行處理,在所述畫布上生成與所述彈幕生成指令對(duì)應(yīng)的彈幕。獲取彈幕生成指令后,可以由中央處理器調(diào)用或者抓取一個(gè)或者多個(gè)處于第二狀態(tài)的畫布進(jìn)行處理,在畫布上生成彈幕。
在本發(fā)明實(shí)施例中,請(qǐng)參閱圖5,該彈幕處理模塊還包括:
彈幕渲染單元103,用于對(duì)所述第一狀態(tài)的畫布進(jìn)行處理,渲染畫布上已生成的彈幕。上述渲染處理操作可以由圖形處理器完成,可以是由中央處理器選擇畫布后,交由圖形處理器完成渲染,或者由圖形處理器主動(dòng)抓取,挑選處于第一狀態(tài)的畫布進(jìn)行渲染操作。
上述采用第一、第二狀態(tài)區(qū)分畫布,并分別交由圖形處理器和中央處理器進(jìn)行處理,能夠避免兩個(gè)處理器同時(shí)調(diào)用同一畫布造成卡頓或者不流暢的情況的發(fā)生。
在本發(fā)明實(shí)施例中,所述畫布還可以為兩個(gè)或以上。通過設(shè)置多個(gè)畫布,兩個(gè)彈幕操作之間無需等待,可以根據(jù)自己的速度連續(xù)生成彈幕或渲染彈幕,能夠提供更快的彈幕處理速度。
在本實(shí)施例中,當(dāng)畫布為兩個(gè)或以上時(shí),存在著有多個(gè)處于第一狀態(tài)的畫布供圖形處理器調(diào)用的情況。為了進(jìn)一步的確定畫布的渲染時(shí)序,所述彈幕渲染單元103具體用于:
選中最早切換為第一狀態(tài)的畫布,以及渲染所述選中的畫布上已生成的彈幕。
彈幕渲染單元103通過選擇最早切換為第一狀態(tài)的畫布,可以保證在畫布上在先生成的彈幕能夠優(yōu)先進(jìn)行彈幕渲染并顯示,也不會(huì)發(fā)生遺漏的情況。
在本發(fā)明實(shí)施例中,所述彈幕裝置可以應(yīng)用于多種電子色設(shè)備中,其中,彈幕處理模塊100根據(jù)畫布的狀態(tài),執(zhí)行對(duì)應(yīng)的彈幕處理,畫布的狀態(tài)包括用于表示彈幕待渲染的第一狀態(tài)和表示彈幕待生成的第二狀態(tài),彈幕處理包括與第一狀態(tài)對(duì)應(yīng)的渲染彈幕和與第二狀態(tài)對(duì)應(yīng)的生成彈幕。在生成彈幕過程中,可以由彈幕處理模塊100中的指令獲取單元101獲取彈幕生成指令,根據(jù)該彈幕生成指令,由彈幕生成單元102使用中央處理器對(duì)第二狀態(tài)的畫布進(jìn)行處理,在畫布上生成與所述彈幕生成指令對(duì)應(yīng)的彈幕。在渲染彈幕過程中,可以由彈幕處理模塊100中的彈幕渲染單元103使用圖形處理器對(duì)第一狀態(tài)的畫布進(jìn)行處理,渲染已生成的彈幕。當(dāng)畫布為兩個(gè)或以上時(shí),在渲染彈幕過程中,彈幕渲染單元103選中最早切換為第一狀態(tài)的畫布,并使用圖形處理器對(duì)選中的畫布進(jìn)行處理。在彈幕處理模塊100執(zhí)行彈幕處理操作完畢后,由狀態(tài)切換模塊200切換畫布的狀態(tài),將第一狀態(tài)的畫布切換為第二狀態(tài),將第一狀態(tài)的畫布切換為第二狀態(tài)。
本發(fā)明實(shí)施例的彈幕處理裝置,對(duì)畫布進(jìn)行了狀態(tài)區(qū)分,并根據(jù)畫布的不同狀態(tài),執(zhí)行相對(duì)應(yīng)的彈幕操作。與現(xiàn)有技術(shù)相比,其能夠避免不同的彈幕操作在同一畫布上同時(shí)執(zhí)行,使彈幕渲染流暢進(jìn)行,提升用戶體驗(yàn)。
需要說明的是,由于彈幕處理裝置與彈幕處理方法基于相同的發(fā)明構(gòu)思,因此,方法實(shí)施例中的相應(yīng)內(nèi)容同樣適用于裝置實(shí)施例,此處不再詳述。
圖6是本發(fā)明實(shí)施例提供的彈幕處理方法的電子設(shè)備的硬件結(jié)構(gòu)示意圖,如圖6所示,該設(shè)備包括:
一個(gè)或多個(gè)處理器610以及存儲(chǔ)器620,圖6中以一個(gè)處理器610為例。
彈幕處理方法的設(shè)備還可以包括:輸入裝置630和輸出裝置640。
處理器610、存儲(chǔ)器620、輸入裝置630和輸出裝置640可以通過總線或者其他方式連接,圖6中以通過總線連接為例。
存儲(chǔ)器620作為一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可用于存儲(chǔ)非易失性軟件程序、非易失性計(jì)算機(jī)可執(zhí)行程序以及模塊,如本發(fā)明實(shí)施例中的彈幕處理方法對(duì)應(yīng)的程序指令/模塊(例如,附圖4所示的彈幕處理模塊110和狀態(tài)切換模塊120)。處理器610通過運(yùn)行存儲(chǔ)在存儲(chǔ)器620中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述方法實(shí)施例彈幕處理方法。
存儲(chǔ)器620可以包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需要的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)彈幕處理裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器620可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他非易失性固態(tài)存儲(chǔ)器件。在一些實(shí)施例中,存儲(chǔ)器620可選包括相對(duì)于處理器610遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至彈幕處理裝置。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
輸入裝置630可接收輸入的數(shù)字或字符信息,以及產(chǎn)生與彈幕處理裝置的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。輸出裝置640可包括顯示屏等顯示設(shè)備。
所述一個(gè)或者多個(gè)模塊存儲(chǔ)在所述存儲(chǔ)器620中,當(dāng)被所述一個(gè)或者多個(gè)處理器610執(zhí)行時(shí),執(zhí)行上述任意方法實(shí)施例中的彈幕處理方法。
本發(fā)明實(shí)施例的電子設(shè)備,在彈幕處理過程中,對(duì)畫布進(jìn)行了狀態(tài)區(qū)分,能夠根據(jù)畫布的不同狀態(tài),選擇中央處理器或圖形處理器執(zhí)行相對(duì)應(yīng)的彈幕操作。與現(xiàn)有技術(shù)相比,其能夠避免不同的彈幕操作在同一畫布上同時(shí)執(zhí)行,保證彈幕渲染的執(zhí)行,避免卡頓從而很好的提升了用戶體驗(yàn)。
上述產(chǎn)品可執(zhí)行本發(fā)明實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本發(fā)明實(shí)施例所提供的方法。
專業(yè)人員應(yīng)該還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所述的計(jì)算機(jī)軟件可存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體或隨機(jī)存儲(chǔ)記憶體等。
以上所述僅為本發(fā)明的實(shí)施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。