圖像數(shù)據(jù)的處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及圖像處理領(lǐng)域,具體而言,設(shè)及一種圖像數(shù)據(jù)的處理方法及裝置。
【背景技術(shù)】
[0002] 目前,物理模塊通常被集成到Ξ維(3D)游戲客戶端中,用來實時模擬多種物理效 果,例如:道具爆破,角色肢體甩動,布料飄動等。物理模擬的主要運算集中在碰撞檢測和碰 撞后的動力學(xué)反應(yīng),其運算量將隨著模擬對象的數(shù)量增長。游戲客戶端則是循環(huán)運行邏輯 和擅染,W便用戶能夠看到連貫的畫面。在典型的3D游戲客戶端中,客戶端還需要承擔(dān)網(wǎng)絡(luò) 通訊,人工智能運算,場景資源加載,畫面擅染等繁重任務(wù),整個系統(tǒng)往往無法達到30個周 期每秒(帖率,30FPS),運樣會導(dǎo)致用戶體驗大幅降低,用戶會感覺到畫面輸入延遲W及播 放畫面不流楊。
[0003] 圖1是根據(jù)相關(guān)技術(shù)的物理模塊自帶多線程解決方案的示意圖。如圖1所示,主線 程上與擅染無關(guān)的處理步驟,例如:處理網(wǎng)絡(luò)通信,執(zhí)行人工智能運算,通知資源加載線程 讀取指定數(shù)據(jù)等,在下文中簡稱為"客戶端邏輯"。隨著多核屯、中央處理器(CPU)的普及,可 W更多地利用多線程技術(shù)為軟件處理過程提速。該解決方案雖然能夠減少物理運算在主線 程的時間消耗,而將物理運算分發(fā)給多個并行處理的物理系統(tǒng)協(xié)作線程來分別處理,但是 主線程仍然需要等待物理運算完全結(jié)束后才能夠執(zhí)行擅染操作;不僅如此,主線程分發(fā)物 理運算任務(wù)W及等待操作系統(tǒng)的線程調(diào)度同樣也需要耗費大量的時間,因此,在實際應(yīng)用 中提速效果并不明顯。
[0004] 針對上述的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例提供了一種圖像數(shù)據(jù)的處理方法及裝置,W至少解決相關(guān)技術(shù)中所 采用的主線程將物理模擬運算分發(fā)給多個并行處理的物理系統(tǒng)協(xié)作線程來分別處理僅能 夠有限提升圖像處理速率的技術(shù)問題。
[0006] 根據(jù)本發(fā)明實施例的一個方面,提供了一種圖像數(shù)據(jù)的處理方法,包括:在主線程 上對參數(shù)信息集合W及與主線程同步運行的一個或多個協(xié)作線程進行初始化,其中,參數(shù) 信息集合包括:對當(dāng)前一帖圖像數(shù)據(jù)進行物理模擬運算的第一參數(shù)信息W及對位于當(dāng)前一 帖圖像數(shù)據(jù)的前一帖圖像數(shù)據(jù)進行畫面擅染操作的第二參數(shù)信息;在主線程上采用第二參 數(shù)信息對前一帖圖像數(shù)據(jù)執(zhí)行畫面擅染操作,W及在一個或多個協(xié)作線程上采用第一參數(shù) 信息對當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行物理模擬運算。
[0007] 進一步地,在多個協(xié)作線程上采用第一參數(shù)信息對當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行物理模 擬運算包括:從多個協(xié)作線程中選取一個協(xié)作線程,其中,選取的協(xié)作線程用于向多個協(xié)作 線程中的其余協(xié)作線程分發(fā)物理模擬運算任務(wù);在其余協(xié)作線程上按照選取的協(xié)作線程分 發(fā)的物理模擬運算任務(wù)執(zhí)行物理模擬運算。
[000引進一步地,在主線程上對一個或多個協(xié)作線程進行初始化包括:創(chuàng)建一個或多個 協(xié)作線程并指示一個或多個協(xié)作線程對當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行物理模擬運算;創(chuàng)建協(xié)作線 程啟動信號,其中,協(xié)作線程啟動信號用于激活一個或多個協(xié)作線程執(zhí)行物理模擬運算;倉。 建協(xié)作線程結(jié)束信號,其中,協(xié)作線程結(jié)束信號用于通知主線程已經(jīng)完成對當(dāng)前一帖圖像 數(shù)據(jù)執(zhí)行的物理模擬運算。
[0009] 進一步地,在主線程上采用第二參數(shù)信息對前一帖圖像數(shù)據(jù)執(zhí)行畫面擅染操作之 前,還包括:在主線程上向一個或多個協(xié)作線程發(fā)送協(xié)作線程啟動信號,觸發(fā)一個或多個協(xié) 作線程在主線程對前一帖圖像數(shù)據(jù)執(zhí)行畫面擅染操作的過程中,同步對當(dāng)前一帖圖像數(shù)據(jù) 執(zhí)行物理模擬運算。
[0010] 進一步地,在主線程上對前一帖圖像數(shù)據(jù)執(zhí)行畫面擅染操作,W及在一個或多個 協(xié)作線程上對當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行物理模擬運算之后,還包括:在主線程上接收一個或 多個協(xié)作線程發(fā)送的協(xié)作線程結(jié)束信號;根據(jù)協(xié)作線程結(jié)束信號確定開始在主線程上對當(dāng) 前一帖圖像數(shù)據(jù)執(zhí)行畫面擅染操作,W及在一個或多個協(xié)作線程上對位于當(dāng)前一帖圖像數(shù) 據(jù)的后一帖圖像數(shù)據(jù)執(zhí)行物理模擬運算。
[0011] 根據(jù)本發(fā)明實施例的另一方面,還提供了一種圖像數(shù)據(jù)的處理裝置,包括:配置模 塊,用于在主線程上對參數(shù)信息集合W及與主線程同步運行的一個或多個協(xié)作線程進行初 始化,其中,參數(shù)信息集合包括:對當(dāng)前一帖圖像數(shù)據(jù)進行物理模擬運算的第一參數(shù)信息W 及對位于當(dāng)前一帖圖像數(shù)據(jù)的前一帖圖像數(shù)據(jù)進行畫面擅染操作的第二參數(shù)信息;執(zhí)行模 塊,用于在主線程上采用第二參數(shù)信息對前一帖圖像數(shù)據(jù)執(zhí)行畫面擅染操作,W及在一個 或多個協(xié)作線程上采用第一參數(shù)信息對當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行物理模擬運算。
[0012] 進一步地,執(zhí)行模塊包括:選取單元,用于從多個協(xié)作線程中選取一個協(xié)作線程, 其中,選取的協(xié)作線程用于向多個協(xié)作線程中的其余協(xié)作線程分發(fā)物理模擬運算任務(wù);執(zhí) 行單元,用于在其余協(xié)作線程上按照選取的協(xié)作線程分發(fā)的物理模擬運算任務(wù)執(zhí)行物理模 擬運算。
[0013] 進一步地,配置模塊包括:第一創(chuàng)建單元,用于創(chuàng)建一個或多個協(xié)作線程并指示一 個或多個協(xié)作線程對當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行物理模擬運算;第二創(chuàng)建單元,用于創(chuàng)建協(xié)作 線程啟動信號,其中,協(xié)作線程啟動信號用于激活一個或多個協(xié)作線程執(zhí)行物理模擬運算; 第Ξ創(chuàng)建單元,用于創(chuàng)建協(xié)作線程結(jié)束信號,其中,協(xié)作線程結(jié)束信號用于通知主線程已經(jīng) 完成對當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行的物理模擬運算。
[0014] 進一步地,上述裝置還包括:發(fā)送模塊,用于在主線程上向一個或多個協(xié)作線程發(fā) 送協(xié)作線程啟動信號,觸發(fā)一個或多個協(xié)作線程在主線程對前一帖圖像數(shù)據(jù)執(zhí)行畫面擅染 操作的過程中,同步對當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行物理模擬運算。
[0015] 進一步地,上述裝置還包括:接收模塊,用于在主線程上接收一個或多個協(xié)作線程 發(fā)送的協(xié)作線程結(jié)束信號;確定模塊,用于根據(jù)協(xié)作線程結(jié)束信號確定開始在主線程上對 當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行畫面擅染操作,W及在一個或多個協(xié)作線程上對位于當(dāng)前一帖圖像 數(shù)據(jù)的后一帖圖像數(shù)據(jù)執(zhí)行物理模擬運算。
[0016] 在本發(fā)明實施例中,采用在主線程上對前一帖圖像數(shù)據(jù)執(zhí)行畫面擅染操作的同 時,在一個或多個協(xié)作線程上并行對當(dāng)前一帖圖像數(shù)據(jù)執(zhí)行物理模擬運算的方式,通過將 物理模擬運算全部交由協(xié)作線程來處理,達到了降低物理模塊在主線程上處理每帖圖像數(shù) 據(jù)的時間消耗的目的,從而顯著地提高了在游戲客戶端上顯示圖像的帖率,進而解決了相 關(guān)技術(shù)中所采用的主線程將物理模擬運算分發(fā)給多個并行處理的物理系統(tǒng)協(xié)作線程來分 別處理僅能夠有限提升圖像處理速率的技術(shù)問題。
【附圖說明】
[0017] 此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0018] 圖1是根據(jù)相關(guān)技術(shù)的物理模塊自帶多線程解決方案的示意圖;
[0019] 圖2是根據(jù)本發(fā)明實施例的圖像數(shù)據(jù)的處理方法的流程圖;
[0020] 圖3是根據(jù)本發(fā)明優(yōu)選實施例一的圖像數(shù)據(jù)處理過程的示意圖