本申請涉及計算機,更具體地,涉及一種數據處理方法、裝置、電子設備及計算機可讀介質。
背景技術:
1、像素本地存儲(pixel?local?storage,pls)是opengl?es的一種數據存取方式,用pls聲明的數據將保存在gpu的tile?buffer上。
2、目前,某些游戲,其場景復雜,渲染一幀畫面通常有多個渲染階段(pass),例如,它有至少十幾個渲染階段。然后,在渲染的過程中,渲染階段過多,會嚴重增加內存帶寬和提升功耗。如何利用pls解決渲染過程中的內存帶寬過大的問題,是目前的一個難題。
技術實現思路
1、本申請提出了一種數據處理方法、裝置、電子設備及計算機可讀介質,以改善上述缺陷。
2、第一方面,本申請實施例提供了一種數據處理方法,應用于安卓框架層的圖形應用程序接口,所述方法包括:獲取相鄰的兩個渲染階段,分別記為第一渲染階段和第二渲染階段;若所述第一渲染階段和所述第二渲染階段滿足合并條件,將所述第一渲染階段和所述第二渲染階段合并為目標渲染階段;通過像素本地存儲功能執行所述目標渲染階段。
3、第二方面,本申請實施例還提供了一種數據處理裝置,應用于安卓框架層的圖形應用程序接口,所述裝置包括:獲取單元,用于獲取相鄰的兩個渲染階段,分別記為第一渲染階段和第二渲染階段;合并單元,用于若所述第一渲染階段和所述第二渲染階段滿足合并條件,將所述第一渲染階段和所述第二渲染階段合并為目標渲染階段;執行單元,用于通過像素本地存儲功能執行所述目標渲染階段。
4、第三方面,本申請實施例還提供了一種電子設備,包括:一個或多個處理器;存儲器;安卓框架層的圖形應用程序接口,所述圖形應用程序接口用于執行圖像渲染,所述圖像渲染對應多個渲染階段;一個或多個應用程序,其中所述一個或多個應用程序被存儲在所述存儲器中并被配置為由所述一個或多個處理器執行,所述一個或多個應用程序配置用于執行上述方法。
5、第四方面,本申請實施例還提供了一種計算機可讀介質,所述可讀存儲介質存儲有處理器可執行的程序代碼,所述程序代碼被所述處理器執行時使所述處理器執行上述方法。
6、本申請提供的數據處理方法、裝置、電子設備及計算機可讀介質,獲取相鄰的兩個渲染階段,分別記為第一渲染階段和第二渲染階段;若所述第一渲染階段和所述第二渲染階段滿足合并條件,將所述第一渲染階段和所述第二渲染階段合并為目標渲染階段;通過像素本地存儲功能執行所述目標渲染階段。由于像素本地存儲功能無法跨越不同的渲染階段,因為,幀緩存切換后無法使用上一個渲染階段的像素本地存儲的數據,所以,通過將兩個渲染階段合并為一個渲染階段,使得兩個渲染階段的操作能夠通過像素本地存儲功能直接在芯片上完成,減少向內存寫入的數據量,降低內存帶寬。
7、本申請實施例的其他特征和優點將在隨后的說明書闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本申請實施例而了解。本申請實施例的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
1.一種數據處理方法,其特征在于,應用于安卓框架層的圖形應用程序接口,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述若所述第一渲染階段和所述第二渲染階段滿足合并條件,將所述第一渲染階段和所述第二渲染階段合并為目標渲染階段之前,還包括:
3.根據權利要求2所述的方法,其特征在于,所述第一渲染階段為所述第二渲染階段的前一個階段,所述第一渲染階段和所述第二渲染階段對應的渲染對象滿足預設條件,包括:所述第二渲染階段的首個繪圖指令采樣所述第一渲染階段的最后一個繪圖指令輸出的紋理數據。
4.根據權利要求3所述的方法,其特征在于,所述第二渲染階段的首個繪圖指令采樣所述第一渲染階段的最后一個繪圖指令輸出的紋理數據,包括:所述第二渲染階段的首個繪圖指令采樣所述第一渲染階段的最后一個繪圖指令輸出的紋理數據,且所述第二渲染階段的首個繪圖指令使用的著色器未包括紋理坐標偏移的代碼。
5.根據權利要求2所述的方法,其特征在于,所述第一渲染階段為所述第二渲染階段的前一個階段,所述第一渲染階段和所述第二渲染階段對應的渲染對象滿足預設條件,包括:所述第一渲染階段的渲染對象非多個,且所述第二渲染階段中使用所述第一渲染階段輸出的紋理數據的著色器符合所述像素本地存儲功能的應用場景。
6.根據權利要求1所述的方法,其特征在于,所述若所述第一渲染階段和所述第二渲染階段滿足合并條件,將所述第一渲染階段和所述第二渲染階段合并為目標渲染階段,包括:
7.根據權利要求6所述的方法,其特征在于,所述將更新后的第一渲染階段和更新后的第二渲染階段合并為目標渲染階段,包括:
8.根據權利要求7所述的方法,其特征在于,所述基于所述第一目標分辨率和第二目標分辨率,將更新后的第一渲染階段和更新后的第二渲染階段合并為目標渲染階段,包括:
9.根據權利要求7所述的方法,其特征在于,所述基于所述第一目標分辨率和第二目標分辨率,將更新后的第一渲染階段和更新后的第二渲染階段合并為目標渲染階段,包括:
10.根據權利要求9所述的方法,其特征在于,所述區域操作包括設置視口大小操作和設置剪裁區域大小操作,所述將所述第一待合并渲染階段的區域操作對應的區域尺寸和所述第二待合并渲染階段的區域操作對應的區域尺寸設置相同,得到第三待合并渲染階段,包括:
11.根據權利要求9所述的方法,其特征在于,所述將所述第三待合并渲染階段和所述第四待合并渲染階段合并為目標渲染階段,包括:
12.根據權利要求11所述的方法,其特征在于,所述設置可變著色率操作用于根據下式確定著色率:
13.根據權利要求11所述的方法,其特征在于,所述在所述待處理渲染階段的指定繪圖指令之前添加設置可變著色率操作,包括:
14.根據權利要求13所述的方法,其特征在于,所述目標渲染階段滿足所述指定條件包括預測到所述目標渲染階段渲染得到的目標圖像的畫質與所述目標渲染階段對應的待渲染對象的畫質不同。
15.根據權利要求13所述的方法,其特征在于,所述目標渲染階段滿足所述指定條件包括預測到所述目標渲染階段的計算量大于預設閾值。
16.一種數據處理裝置,其特征在于,應用于安卓框架層的圖形應用程序接口,所述裝置包括:
17.一種電子設備,其特征在于,包括:
18.一種計算機可讀介質,其特征在于,所述計算機可讀介質存儲有處理器可執行的程序代碼,所述程序代碼被所述處理器執行時使所述處理器執行權利要求1-15任一項所述方法。