本申請涉及計算機技術的領域,尤其涉及一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法。
背景技術:
1、獨顯與集顯存在性能差別,獨顯的不同系列也存在性能差別。我們國產(chǎn)操作系統(tǒng)如何針對這些不同的顯卡能力做專門性的適配,保障最終用戶的圖形操作,是整機適配中經(jīng)常需要面對的問題。
2、中國專利申請cn202110837309.6,公開了“一種通過檢測顯卡能力切換窗口管理渲染后端的方法”,提出的是一種檢測顯卡能力值,來切換不同的窗口管理器。通過繪制qglwidget來計算幀率fps,低于一個閾值就會marco窗口管理器,達到閾值就會啟動ukui-kwin。也就是說,這個專利的切換窗口管理的渲染后端,是通過啟動不同的窗口管理器來實現(xiàn)的,但是由于顯卡驅(qū)動實現(xiàn)的多樣性,某些國產(chǎn)顯卡出現(xiàn)過在顯卡的gl?調(diào)用卡死,無法啟動也無法退出的問題,導致這個方案的使用存在一定局限性。
3、中國專利申請cn202011160368.6,公開了一種窗口展示效果的控制方法,在已經(jīng)運行的系統(tǒng)桌面環(huán)境中,提供展示效果切換的功能,并且在用戶請求切換之前,先確定當前計算設備能否支持窗口切換展示效果,展示效果包括透明效果、最小化動畫效果等。當計算設備的實際硬件配置以及當前的負載和運行能力能夠支持窗口切換展示效果時,才會為用戶提供切換窗口展示效果的功能。即渲染后端一直是opengl,且專利中提出的切換展示效果功能,并沒有對國產(chǎn)顯卡的渲染性能做適配。
4、因此目前亟需一種能夠有效解決國產(chǎn)顯卡的適配問題的方法。
技術實現(xiàn)思路
1、為解決國產(chǎn)顯卡的適配問題,本發(fā)明提供了一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法,采用如下的技術方案:
2、一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法,其特征在于,包括:
3、獲取當前使用的顯卡的顯卡型號信息;
4、判斷所述顯卡型號信息是否處于預設顯卡黑名單文件中;
5、若處于,則將渲染后端設置為2d渲染后端,并啟動2d渲染后端對應的合成器,且關閉全部特效;
6、若不處于,則將渲染后端設置為3d渲染后端,并啟動3d渲染后端對應的合成器,且開啟特效。
7、在另一種可能實現(xiàn)的方式中,獲取當前使用的顯卡的顯卡型號信息,包括:
8、通過udev庫來獲取當前使用的顯卡的顯卡型號信息。
9、在另一種可能實現(xiàn)的方式中,顯卡型號信息包括vid以及did,通過udev庫來獲取當前使用的顯卡的顯卡型號信息,包括:
10、初始化udev上下文和枚舉器;
11、添加預設udev匹配規(guī)則,通過預設udev匹配規(guī)則找到drm子系統(tǒng)下的所有設備節(jié)點,并獲取任一設備節(jié)點的父級pci設備;
12、讀取父級pci設備的vendor和device屬性,得到vid以及did。
13、在另一種可能實現(xiàn)的方式中,判斷所述顯卡型號信息是否處于預設顯卡黑名單文件中,包括:
14、讀取預設顯卡黑名單文件,并將讀取結果保存到動態(tài)數(shù)組類型的變量gpuinfovector中;
15、遍歷動態(tài)數(shù)組gpuinfovector,將動態(tài)數(shù)組成員的顯卡型號信息與獲取到的顯卡型號信息進行匹配。
16、在另一種可能實現(xiàn)的方式中,若處于,則將渲染后端設置為2d渲染后端,并啟動2d渲染后端對應的合成器,且關閉全部特效,包括:
17、若處于,則確定當前使用的顯卡為低性能顯卡,執(zhí)行checkandsetcompositingbackend(“xrender”)生成窗口管理器的參數(shù)配置文件;
18、通過reloadcompositingsettings函數(shù)對參數(shù)配置文件進行讀取,確定當前渲染后端為2d渲染后端,將渲染后端設置為2d渲染后端,并啟動2d渲染后端對應的合成器,且關閉全部特效。
19、在另一種可能實現(xiàn)的方式中,若不處于,則將渲染后端設置為3d渲染后端,并啟動3d渲染后端對應的合成器,且開啟特效,包括:
20、若不處于,則確定當前使用的顯卡為高性能顯卡,執(zhí)行checkandsetcompositingbackend(“opengl”)生成窗口管理器的參數(shù)配置文件;
21、通過reloadcompositingsettings函數(shù)對參數(shù)配置文件進行讀取,確定當前渲染后端為3d渲染后端,并啟動3d渲染后端對應的合成器,且開啟特效。
22、在另一種可能實現(xiàn)的方式中,所述方法還包括:
23、判斷當前是否處于虛擬環(huán)境或者遠程桌面中;
24、若處于,則直接將渲染后端設置為2d渲染后端,并啟動2d渲染后端對應的合成器,且關閉全部特效;
25、若不處于,則繼續(xù)獲取當前使用的顯卡的顯卡型號信息。
26、綜上所述,本申請包括以下有益技術效果:
27、(1)增加合成器啟動自檢機制,根據(jù)檢測情況來啟動對應的合成器渲染后端
28、(2)適配國產(chǎn)低性能顯卡,檢測到低性能顯卡時,默認啟動2d渲染后端
29、(3)適配虛擬環(huán)境,在遠程桌面虛擬機等環(huán)境下,默認啟動2d渲染后端
30、(4)對于性能較好的國產(chǎn)顯卡,默認啟動3d?渲染后端,支持多種特效渲染。
1.一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法,其特征在于,包括:
2.根據(jù)權利要求1所述的一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法,其特征在于,獲取當前使用的顯卡的顯卡型號信息,包括:
3.根據(jù)權利要求2所述的一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法,其特征在于,顯卡型號信息包括vid以及did,通過udev庫來獲取當前使用的顯卡的顯卡型號信息,包括:
4.根據(jù)權利要求1所述的一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法,其特征在于,判斷所述顯卡型號信息是否處于預設顯卡黑名單文件中,包括:
5.根據(jù)權利要求1所述的一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法,其特征在于,若處于,則將渲染后端設置為2d渲染后端,并啟動2d渲染后端對應的合成器,且關閉全部特效,包括:
6.根據(jù)權利要求1所述的一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法,其特征在于,若不處于,則將渲染后端設置為3d渲染后端,并啟動3d渲染后端對應的合成器,且開啟特效,包括:
7.根據(jù)權利要求1所述的一種兼容不同國產(chǎn)顯卡性能的窗口合成器渲染后端的切換方法,其特征在于,所述方法還包括: