国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種動畫數(shù)據(jù)播放方法以及裝置的制造方法_2

      文檔序號:9730581閱讀:來源:國知局
      動畫數(shù)據(jù)對應(yīng)的第一處理器占用率,可以根據(jù)第一處理器占用率檢測目標(biāo)動畫數(shù)據(jù)是否滿足預(yù)設(shè)的占用率播放條件,若滿足占用率條件,說明當(dāng)前對目標(biāo)動畫數(shù)據(jù)進(jìn)行播放的行為并不會使客戶端進(jìn)程在當(dāng)前所運行的CPU核上的占用率變得過高,因此可以開始播放目標(biāo)動畫數(shù)據(jù);若不滿足占用率條件,說明當(dāng)前對目標(biāo)動畫數(shù)據(jù)進(jìn)行播放的行為將會使客戶端進(jìn)程在當(dāng)前所運行的CPU核上的占用率變得過高,因此可以通過定時循環(huán)檢測的方式檢測到目標(biāo)動畫數(shù)據(jù)滿足占用率播放條件時,播放目標(biāo)動畫數(shù)據(jù),由此可見,在不滿足占用率條件時,并不會立即播放目標(biāo)動畫數(shù)據(jù),而是通過定時循環(huán)檢測的方式在后續(xù)檢測出目標(biāo)動畫數(shù)據(jù)滿足占用率條件時再播放目標(biāo)動畫數(shù)據(jù),從而使得整個動畫數(shù)據(jù)的播放過程可以始終將客戶端進(jìn)程在當(dāng)前所運行的CPU核上的占用率控制在較低的數(shù)值范圍內(nèi),從而可以在客戶端播放動畫數(shù)據(jù)時降低CPU的運行壓力,以保證用戶設(shè)備可以正常運作。
      [0036]請參見圖2,是本發(fā)明實施例提供的另一種動畫數(shù)據(jù)播放方法的流程示意圖,所述方法可以包括:
      [0037]S201,當(dāng)獲取到服務(wù)器發(fā)送的目標(biāo)動畫數(shù)據(jù)時,獲取所述目標(biāo)動畫數(shù)據(jù)對應(yīng)的第一處理器占用率,并查找與所述目標(biāo)動畫數(shù)據(jù)的動畫類型相同的目標(biāo)隊列;
      [0038]具體的,當(dāng)觀眾客戶端向某頻道直播間內(nèi)的主播客戶端發(fā)送目標(biāo)虛擬禮物時,該頻道直播間內(nèi)的客戶端(所述客戶端可以包括該頻道直播間內(nèi)的所有觀眾客戶端和主播客戶端)可以獲取服務(wù)器發(fā)送的與所述目標(biāo)虛擬禮物對應(yīng)的目標(biāo)動畫數(shù)據(jù);其中,不同的虛擬禮物分別對應(yīng)不同動畫類型的動畫數(shù)據(jù),每種動畫類型的動畫數(shù)據(jù)都有固定的播放模式和播放位置。所述服務(wù)器在通過TCP/IP協(xié)議將所述目標(biāo)動畫數(shù)據(jù)發(fā)送至所述客戶端的同時,還可以將所述目標(biāo)動畫數(shù)據(jù)對應(yīng)的第一處理器占用率也發(fā)送至所述客戶端,使得當(dāng)所述客戶端獲取到服務(wù)器發(fā)送的目標(biāo)動畫數(shù)據(jù)時,還可以一并獲取所述目標(biāo)動畫數(shù)據(jù)對應(yīng)的第一處理器占用率。其中,所述第一處理器占用率是指在播放所述目標(biāo)動畫數(shù)據(jù)時對處理器的占用率,所述第一處理器占用率是在開發(fā)過程中對所述目標(biāo)動畫數(shù)據(jù)進(jìn)行多次播放測試之后所取的平均值。例如,若當(dāng)前處理器的總體使用率為30%,所述第一處理器占用率為5%,那么當(dāng)播放所述目標(biāo)動畫數(shù)據(jù)時,處理器的總體使用率可以變?yōu)?5%。
      [0039]所述客戶端在獲取到所述第一處理器占用率的同時,還可以查找與所述目標(biāo)動畫數(shù)據(jù)的動畫類型相同的目標(biāo)隊列;其中,所述目標(biāo)隊列用于存放與所述目標(biāo)動畫數(shù)據(jù)的動畫類型相同且未播放的動畫數(shù)據(jù),且所述目標(biāo)隊列中的動畫數(shù)據(jù)是按照在所述目標(biāo)隊列中的排序位置依次進(jìn)行播放的,且所述目標(biāo)隊列中的動畫數(shù)據(jù)在被播放時將從所述目標(biāo)隊列中移除。其中,所述目標(biāo)隊列可以是預(yù)設(shè)的至少一個隊列中的其中一個隊列,每個預(yù)設(shè)的隊列分別用于存放不同動畫類型的動畫數(shù)據(jù)。每個預(yù)設(shè)的隊列還可以分別對應(yīng)不同的隊列編號,例如,用于存放動畫類型為A的動畫數(shù)據(jù)的隊列所對應(yīng)的隊列編號可以設(shè)置為1,用于存放動畫類型為B的動畫數(shù)據(jù)的隊列所對應(yīng)的隊列編號可以設(shè)置為2,用于存放動畫類型為C的動畫數(shù)據(jù)的隊列所對應(yīng)的隊列編號可以設(shè)置為3。
      [0040]S202,將所述目標(biāo)動畫數(shù)據(jù)添加至所述目標(biāo)隊列;
      [0041 ]具體的,所述客戶端查找到所述目標(biāo)隊列后,可以檢測所述目標(biāo)隊列是否為空,當(dāng)檢測到所述目標(biāo)隊列為空時,所述客戶端可以將所述目標(biāo)動畫數(shù)據(jù)添加至所述目標(biāo)隊列的首位位置,并直接執(zhí)行S203的步驟;
      [0042]當(dāng)檢測到所述目標(biāo)隊列不為空時,所述客戶端可以將所述目標(biāo)動畫數(shù)據(jù)添加至所述目標(biāo)隊列的末尾位置,并當(dāng)播放所述目標(biāo)隊列中位于所述目標(biāo)動畫數(shù)據(jù)的前一個位置的相鄰動畫數(shù)據(jù),且將所述相鄰動畫數(shù)據(jù)從所述目標(biāo)隊列中移除時,將所述目標(biāo)動畫數(shù)據(jù)所處的位置確定為所述目標(biāo)隊列的首位位置,并當(dāng)所述目標(biāo)隊列中位于所述目標(biāo)動畫數(shù)據(jù)的前一個位置的動畫數(shù)據(jù)播放結(jié)束時,接收播放結(jié)束消息,并根據(jù)所述播放結(jié)束消息查找所述目標(biāo)隊列中的首位位置,以獲取位于所述首位位置的所述目標(biāo)動畫數(shù)據(jù),此時可以執(zhí)行S203步驟。例如,若所述目標(biāo)隊列中從首位位置到末尾位置的動畫數(shù)據(jù)分別為A(位于首位位置)、B(位于第二位置)、C(位于第三位置)、D(位于末尾位置),則當(dāng)A被播放時,A將從所述目標(biāo)隊列中移除,此時所述目標(biāo)隊列中的動畫數(shù)據(jù)包括B(位于首位位置)、C(位于第二位置)、D(位于末尾位置),且在A被播放完畢時可以檢測位于首位位置的B是否可以播放;若B也開始被播放,則B也將從所述目標(biāo)隊列中移除,此時所述目標(biāo)隊列中的動畫數(shù)據(jù)包括C(位于首位位置)、D(位于末尾位置),且在B被播放完畢時可以檢測位于首位位置的C是否可以播放。
      [0043]S203,當(dāng)所述目標(biāo)動畫數(shù)據(jù)位于所述目標(biāo)隊列的首位位置時,根據(jù)所述第一處理器占用率檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足預(yù)設(shè)的占用率播放條件;
      [0044]具體的,當(dāng)所述客戶端檢測到所述目標(biāo)動畫數(shù)據(jù)在所述目標(biāo)隊列中的初始位置為首位位置(所述目標(biāo)隊列為空的情況),或檢測到所述目標(biāo)動畫數(shù)據(jù)被逐步移動至所述目標(biāo)隊列的首位位置(所述目標(biāo)隊列不為空的情況)時,可以根據(jù)所述第一處理器占用率檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足預(yù)設(shè)的占用率播放條件。
      [0045]其中,所述占用率播放條件為所述第一處理器占用率與第二處理器占用率之和小于預(yù)設(shè)的總占用率閾值;所述第二處理器占用率是指正在同時播放的多個動畫數(shù)據(jù)分別對應(yīng)的處理器占用率的總和;其中,同時播放的多個動畫數(shù)據(jù)的動畫類型互不相同。所述總占用率閾值可以根據(jù)業(yè)務(wù)需求進(jìn)行動態(tài)調(diào)整,當(dāng)所述總占用率閾值調(diào)高后,可以增加同時播放的動畫數(shù)據(jù)的數(shù)量;當(dāng)所述總占用率閾值調(diào)低后,可以減少同時播放的動畫數(shù)據(jù)的數(shù)量。
      [0046]S204,播放所述目標(biāo)動畫數(shù)據(jù);
      [0047]具體的,當(dāng)S203步驟檢測所述目標(biāo)動畫數(shù)據(jù)滿足預(yù)設(shè)的占用率播放條件時,說明所述第一處理器占用率與第二處理器占用率之和小于所述總占用率閾值,即說明CPU的總體使用率仍處于較低的數(shù)值范圍內(nèi),此時,可以播放所述目標(biāo)動畫數(shù)據(jù),并將所述目標(biāo)動畫數(shù)據(jù)從所述目標(biāo)隊列中移除,使得所述目標(biāo)隊列中位于所述目標(biāo)動畫數(shù)據(jù)的下一個動畫數(shù)據(jù)可以移動至首位位置,以便于開始檢測位于所述目標(biāo)動畫數(shù)據(jù)的下一個動畫數(shù)據(jù)是否滿足所述占用率播放條件。
      [0048]S205,當(dāng)接收到用于循環(huán)定時檢測的超時消息時,獲取隊列變量值,并在預(yù)設(shè)的至少一個隊列編號中獲取與所述隊列變量值相同的隊列編號,以確定為目標(biāo)隊列編號;
      [0049]具體的,當(dāng)203步驟檢測所述目標(biāo)動畫數(shù)據(jù)不滿足所述占用率播放條件時,說明所述第一處理器占用率與第二處理器占用率之和等于或大于所述總占用率閾值,即說明將會導(dǎo)致CPU的總體使用率偏高,此時,暫時不對所述目標(biāo)動畫數(shù)據(jù)進(jìn)行播放,并開始等待接收用于定時檢測超時消息。當(dāng)接收到用于循環(huán)定時檢測的超時消息時,獲取隊列變量值,并在預(yù)設(shè)的至少一個隊列編號中獲取與所述隊列變量值相同的隊列編號,以確定為目標(biāo)隊列編號;每個隊列編號所對應(yīng)的隊列分別用于存放不同動畫類型的動畫數(shù)據(jù);每個隊列以及每個隊列分別對應(yīng)的隊列編號都是預(yù)先設(shè)置的。其中,所述超時消息可以由Qt(跨平臺C++圖形用戶界面應(yīng)用程序)的QTimer啟動定時器來觸發(fā)。例如,QTimer啟動定時器每隔3秒觸發(fā)一次超時消息,使得所述客戶端可以每隔3秒接收一次超時消息。
      [0050]S206,當(dāng)所述目標(biāo)隊列編號對應(yīng)的隊列為所述目標(biāo)隊列時,獲取位于所述目標(biāo)隊列的首位位置的所述目標(biāo)動畫數(shù)據(jù),并檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足所述占用率播放條件;
      [0051]具體的,當(dāng)所述目標(biāo)隊列編號對應(yīng)的隊列為所述目標(biāo)隊列時,可以進(jìn)一步判斷當(dāng)前是否正在播放屬于所述目標(biāo)隊列的動畫數(shù)據(jù);若判斷為否,則可以獲取位于所述目標(biāo)隊列的首位位置的所述目標(biāo)動畫數(shù)據(jù),并檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足所述占用率播放條件;若判斷為是,則暫停檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足所述占用率播放條件,并對所述隊列變量值進(jìn)行遞增計算,以等待在接收到下一個超時消息時根據(jù)遞增后的隊列變量值,檢測位于與所述目標(biāo)隊列相鄰的隊列中的首位位置的動畫數(shù)據(jù)是否滿足所述占用率播放條件,從而可以保證位于所述目標(biāo)動畫數(shù)據(jù)的上一個位置的動畫數(shù)據(jù)在被播放完畢的情況下,再通過定時循環(huán)檢測的方式檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足所述占用率播放條件,以避免動畫類型相同的多個動畫數(shù)據(jù)被同時播放。
      [0052]S207,當(dāng)檢測出所述目標(biāo)動畫數(shù)據(jù)滿足所述占用率播放條件時,播放所述目標(biāo)動畫數(shù)據(jù),并將所述目標(biāo)動畫數(shù)據(jù)從所述目標(biāo)隊列中移除,并對所述隊列變量值進(jìn)行遞增計算;
      [0053]具體的,當(dāng)S206檢測出所述目標(biāo)動畫數(shù)據(jù)滿足所述占用率播放條件時,即說明通過定時循環(huán)檢測的方式檢測到所述目標(biāo)動畫數(shù)據(jù)滿足所述占用率播放條件,此時,所述客戶端可以播放所述目標(biāo)動畫數(shù)據(jù),并將所述目標(biāo)動畫數(shù)據(jù)從所述目標(biāo)隊列中移除,使得所述目標(biāo)隊列中位于所述目標(biāo)動畫數(shù)據(jù)的下一個動畫數(shù)據(jù)可以移動至首位位置,以便于開始檢測位于所述目標(biāo)動畫數(shù)據(jù)的下一個動畫數(shù)據(jù)是否滿足所述占用率播放條件。
      [0054]所述客戶端在將所述目標(biāo)動畫數(shù)據(jù)從所述目標(biāo)隊列中移除的同時,還可以對所述隊列變量值進(jìn)行遞增計算,以便于在接收到下一個超時消息時根據(jù)遞增后的隊列變量值,檢測位于與所述目標(biāo)隊列相鄰的隊列中的首位位置的動畫數(shù)據(jù)是否滿足所述占用率播放條件。
      [0055]進(jìn)一步的,當(dāng)判斷出遞增后的隊列變量值大于所述至少一個隊列編號中的最大編號時,將所述遞增后的隊列變量值重新設(shè)置為所述至少一個隊列編號中的最小編號,以便于根據(jù)所述隊列變量值對所述至少一個隊列編號分別對應(yīng)的隊列進(jìn)行循環(huán)檢測,即可以使所述隊列變量值可以從最小編號遞增至最大編號,再循環(huán)到最小編號。
      [0056]S208,當(dāng)檢測出所述目標(biāo)動畫數(shù)據(jù)不滿足所述占用率播放條件時,暫停播放所述目標(biāo)動畫數(shù)據(jù),并暫停對所述隊列變量值進(jìn)行遞增計算;
      [0057]具體的,當(dāng)S206檢測出所述目標(biāo)動畫數(shù)據(jù)不滿足所述占用率播放條件時,所述客戶端可以暫停
      當(dāng)前第2頁1 2 3 4 5 6 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1