[發明專利]一種多線程渲染的方法和裝置有效
| 申請號: | 201710524166.7 | 申請日: | 2017-06-30 |
| 公開(公告)號: | CN109213607B | 公開(公告)日: | 2021-07-23 |
| 發明(設計)人: | 楊亮;張文明;陳少杰 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06T1/20 |
| 代理公司: | 北京眾達德權知識產權代理有限公司 11570 | 代理人: | 劉杰 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多線程 渲染 方法 裝置 | ||
1.一種多線程渲染的方法,其特征在于,包括:
調用渲染主線程在入口接口中創建命令執行隊列;其中,所述入口接口為Direct 3D中的ID3D12Device接口;
在所述命令執行隊列中創建N個命令列表,N為大于等于2的整數;其中,所述命令列表為ID3D12GraphicsCommandList命令列表;
創建與N個所述命令列表一一對應的N個渲染子線程;
通過N個所述渲染子線程向N個所述命令列表提交渲染指令;
當N個所述命令列表的渲染指令提交完成后,通過所述命令執行隊列執行N個所述命令列表的渲染指令進行渲染;
所述在入口接口中創建命令執行隊列,包括:
調用所述ID3D12Device接口的CreateCommandQueue方法創建所述命令執行隊列;
所述方法還包括:
在每個所述渲染子線程中創建信號事件;
如果所述渲染子線程未完成向對應的所述命令列表提交所有渲染指令,將所述渲染子線程對應的所述信號事件設置為無信號狀態;
如果所述渲染子線程完成向對應的所述命令列表提交所有渲染指令,將所述渲染子線程對應的所述信號事件設置為有信號狀態;
所述方法還包括:
如果所述渲染主線程監測到N個所述信號事件均為所述有信號狀態,確定N個所述命令列表的渲染指令提交完成。
2.如權利要求1所述的方法,其特征在于,在通過N個所述渲染子線程向N個所述命令列表提交渲染指令之前,所述方法還包括:
獲得每個所述命令列表所要對應實現的渲染功能的渲染參數;
基于所述渲染參數生成所述渲染指令。
3.一種多線程渲染的裝置,其特征在于,包括:
第一創建模塊,用于調用渲染主線程在入口接口中創建命令執行隊列;其中,所述入口接口為Direct 3D中的ID3D12Device接口;還用于調用所述ID3D12Device接口的CreateCommandQueue方法創建所述命令執行隊列;
第二創建模塊,用于在所述命令執行隊列中創建N個命令列表,N為大于等于2的整數;其中,所述命令列表為ID3D12GraphicsCommandList命令列表;
第三創建模塊,用于創建與N個所述命令列表一一對應的N個渲染子線程;
提交模塊,用于通過N個所述渲染子線程向N個所述命令列表提交渲染指令;
執行模塊,用于當N個所述命令列表的渲染指令提交完成后,通過所述命令執行隊列執行N個所述命令列表的渲染指令進行渲染;
所述裝置還包括:
第四創建模塊,用于在每個所述渲染子線程中創建信號事件;
第一設置模塊,用于如果所述渲染子線程未完成向對應的所述命令列表提交所有渲染指令,將所述渲染子線程對應的所述信號事件設置為無信號狀態;
第二設置模塊,用于如果所述渲染子線程完成向對應的所述命令列表提交所有渲染指令,將所述渲染子線程對應的所述信號事件設置為有信號狀態;
所述裝置還包括:
確定模塊,用于如果所述渲染主線程監測到N個所述信號事件均為所述有信號狀態,確定N個所述命令列表的渲染指令提交完成。
4.如權利要求3所述的裝置,其特征在于,所述裝置還包括:
獲得模塊,用于在通過N個所述渲染子線程向N個所述命令列表提交渲染指令之前,獲得每個所述命令列表所要對應實現的渲染功能的渲染參數;
生成模塊,用于基于所述渲染參數生成所述渲染指令。
5.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,該程序被處理器執行時實現權利要求1或2所述方法的步驟。
6.一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述程序時實現權利要求1或2所述方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710524166.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據交互的方法和裝置
- 下一篇:用于加速的高效操作數多播





