本發(fā)明涉及數(shù)據(jù)處理,尤其涉及一種顯示屏的畫面幀率調(diào)整方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在高端圖形工作站和專業(yè)顯示系統(tǒng)中,顯示控制器通常采用多級幀緩沖架構(gòu),包括前臺緩沖區(qū)、后臺緩沖區(qū)和預(yù)備緩沖區(qū)。當gpu完成一幀渲染后,系統(tǒng)需要在垂直回掃期間將后臺緩沖區(qū)提升為前臺緩沖區(qū)供顯示掃描使用,以實現(xiàn)畫面的無縫切換和幀率調(diào)整。
2、然而,現(xiàn)有的幀率調(diào)整方法在處理可變刷新率場景時,由于緩沖區(qū)切換指令的執(zhí)行時機與顯示掃描器的實際位置存在不確定性延遲,導(dǎo)致在幀緩沖區(qū)狀態(tài)轉(zhuǎn)換的臨界時刻出現(xiàn)顯示數(shù)據(jù)源的瞬時不一致。這種不一致性表現(xiàn)為單幀閃爍現(xiàn)象,特別是在幀率動態(tài)調(diào)整過程中,垂直同步窗口的時序變化會放大這種緩沖區(qū)切換的競爭條件,嚴重影響專業(yè)顯示應(yīng)用的視覺連續(xù)性。
技術(shù)實現(xiàn)思路
1、本發(fā)明的主要目的在于解決現(xiàn)有顯示屏幀率調(diào)整方法中幀緩沖區(qū)切換時機不當造成的單幀閃爍的技術(shù)問題;
2、本發(fā)明第一方面提供了一種顯示屏的畫面幀率調(diào)整方法,所述顯示屏的畫面幀率調(diào)整方法包括:
3、通過檢測向顯示屏輸出信號的顯示控制器中相鄰掃描線時間間隔變化對顯示控制器的垂直回掃窗口進行預(yù)測處理,得到垂直回掃窗口預(yù)測時間;
4、根據(jù)所述垂直回掃窗口預(yù)測時間對向顯示屏供應(yīng)數(shù)據(jù)的多級幀緩沖區(qū)進行原子性鎖定處理,得到緩沖區(qū)切換控制信號;
5、根據(jù)所述緩沖區(qū)切換控制信號對渲染顯示屏畫面的gpu渲染管線進行渲染完成度分析處理,得到渲染完成度評估結(jié)果;
6、根據(jù)所述渲染完成度評估結(jié)果對顯示屏的多級緩沖區(qū)同步策略進行重構(gòu),基于重構(gòu)的多級緩沖區(qū)同步策略對顯示屏畫面幀率進行調(diào)整。
7、可選的,在本發(fā)明第一方面的第一種實現(xiàn)方式中,所述通過檢測向顯示屏輸出信號的顯示控制器中相鄰掃描線時間間隔變化對顯示控制器的垂直回掃窗口進行預(yù)測處理,得到垂直回掃窗口預(yù)測時間包括:
8、通過掃描位置監(jiān)測單元對顯示控制器的掃描發(fā)生器中的硬件計數(shù)器進行連續(xù)采樣處理,得到掃描行號和掃描列號的實時位置數(shù)據(jù);
9、根據(jù)所述實時位置數(shù)據(jù)對相鄰掃描線的時間間隔變化進行檢測處理,得到當前掃描速度數(shù)據(jù),并根據(jù)所述當前掃描速度數(shù)據(jù)對掃描速度歷史數(shù)據(jù)進行更新處理,得到掃描速度波動數(shù)據(jù);
10、根據(jù)所述掃描速度波動數(shù)據(jù)通過卡爾曼濾波算法對垂直回掃窗口開始時間進行初步預(yù)測處理,得到初步預(yù)測時間;
11、對顯示控制器的前臺緩沖區(qū)和后臺緩沖區(qū)的像素數(shù)據(jù)進行逐像素比較處理,根據(jù)像素差異度計算結(jié)果對所述初步預(yù)測時間的安全邊界進行動態(tài)調(diào)整處理,得到垂直回掃窗口預(yù)測時間。
12、可選的,在本發(fā)明第一方面的第二種實現(xiàn)方式中,所述對顯示控制器的前臺緩沖區(qū)和后臺緩沖區(qū)的像素數(shù)據(jù)進行逐像素比較處理,根據(jù)像素差異度計算結(jié)果對所述初步預(yù)測時間的安全邊界進行動態(tài)調(diào)整處理,得到垂直回掃窗口預(yù)測時間包括:
13、通過歐幾里得距離算法對所述前臺緩沖區(qū)和后臺緩沖區(qū)的對應(yīng)像素位置進行rgb分量差值計算,得到像素差異度矩陣;
14、根據(jù)所述像素差異度矩陣對畫面變化區(qū)域的分布密度進行統(tǒng)計處理,得到區(qū)域分布密度數(shù)據(jù);
15、根據(jù)所述區(qū)域分布密度數(shù)據(jù)通過區(qū)域聚類算法對高變化區(qū)域和低變化區(qū)域進行分類處理,得到畫面變化復(fù)雜度評估結(jié)果;
16、根據(jù)所述畫面變化復(fù)雜度評估結(jié)果計算緩沖區(qū)切換風險系數(shù),并根據(jù)所述風險系數(shù)通過風險評估模型確定安全邊界調(diào)整參數(shù);
17、通過時間窗口平滑算法根據(jù)所述安全邊界調(diào)整參數(shù)對所述初步預(yù)測時間進行修正處理,得到垂直回掃窗口預(yù)測時間。
18、可選的,在本發(fā)明第一方面的第三種實現(xiàn)方式中,所述根據(jù)所述垂直回掃窗口預(yù)測時間對向顯示屏供應(yīng)數(shù)據(jù)的多級幀緩沖區(qū)進行原子性鎖定處理,得到緩沖區(qū)切換控制信號包括:
19、根據(jù)所述垂直回掃窗口預(yù)測時間計算預(yù)鎖定啟動時機,根據(jù)所述預(yù)鎖定啟動時機在距離垂直回掃窗口前2-3個掃描線時對所述多級幀緩沖區(qū)的寫操作權(quán)限進行凍結(jié)處理,得到預(yù)鎖定狀態(tài)信號;
20、根據(jù)所述預(yù)鎖定狀態(tài)信號通過緩沖區(qū)訪問仲裁器對來自gpu渲染管線的寫請求進行重定向處理,將寫操作目標從前臺緩沖區(qū)和后臺緩沖區(qū)轉(zhuǎn)移至預(yù)備緩沖區(qū),得到寫操作重定向控制信號;
21、根據(jù)所述寫操作重定向控制信號通過原子操作指令對前臺緩沖區(qū)指針和顯示掃描器的數(shù)據(jù)源地址進行同步更新處理,得到緩沖區(qū)指針切換信號;
22、根據(jù)所述緩沖區(qū)指針切換信號對所述多級幀緩沖區(qū)的訪問權(quán)限進行恢復(fù)處理,更新渲染管線的目標緩沖區(qū)分配狀態(tài),得到緩沖區(qū)切換控制信號。
23、可選的,在本發(fā)明第一方面的第四種實現(xiàn)方式中,所述根據(jù)所述緩沖區(qū)切換控制信號對渲染顯示屏畫面的gpu渲染管線進行渲染完成度分析處理,得到渲染完成度評估結(jié)果包括:
24、根據(jù)所述緩沖區(qū)切換控制信號觸發(fā)對gpu渲染管線中的頂點處理單元、像素處理單元和光柵化單元的工作負載狀態(tài)的監(jiān)測,得到各單元的實時負載數(shù)據(jù);
25、根據(jù)所述實時負載數(shù)據(jù)對gpu渲染管線的指令隊列深度和緩存命中率進行統(tǒng)計分析,結(jié)合管線階段延遲計算對當前幀的渲染進度進行量化處理,得到渲染進度百分比;
26、根據(jù)所述渲染進度百分比結(jié)合gpu內(nèi)存帶寬占用率和紋理填充率的實時采樣數(shù)據(jù),通過加權(quán)平均算法對渲染性能瓶頸位置進行識別處理,得到性能瓶頸分析結(jié)果;
27、根據(jù)所述性能瓶頸分析結(jié)果結(jié)合歷史渲染時間統(tǒng)計數(shù)據(jù)對當前幀的預(yù)計完成時間進行預(yù)測,得到渲染完成度評估結(jié)果。
28、可選的,在本發(fā)明第一方面的第五種實現(xiàn)方式中,所述根據(jù)所述渲染完成度評估結(jié)果對顯示屏的多級緩沖區(qū)同步策略進行重構(gòu),基于重構(gòu)的多級緩沖區(qū)同步策略對顯示屏畫面幀率進行調(diào)整包括:
29、根據(jù)所述渲染完成度評估結(jié)果對當前幀率與gpu渲染能力的匹配度進行計算處理,得到幀率調(diào)整系數(shù);
30、根據(jù)所述幀率調(diào)整系數(shù)計算多級緩沖區(qū)的數(shù)量配置和切換時序參數(shù),得到緩沖區(qū)配置參數(shù);
31、根據(jù)所述緩沖區(qū)配置參數(shù)通過動態(tài)規(guī)劃算法對緩沖區(qū)分配策略進行重構(gòu)并根據(jù)重構(gòu)的多級緩沖區(qū)同步策略對顯示控制器的像素時鐘頻率和掃描線時序參數(shù)進行調(diào)節(jié)處理,得到幀率控制參數(shù);
32、根據(jù)所述幀率控制參數(shù)通過硬件寄存器配置對顯示屏的垂直同步信號頻率進行更新處理,對顯示屏畫面幀率進行調(diào)整控制。
33、可選的,在本發(fā)明第一方面的第六種實現(xiàn)方式中,所述根據(jù)所述緩沖區(qū)配置參數(shù)通過動態(tài)規(guī)劃算法對緩沖區(qū)分配策略進行重構(gòu)并根據(jù)重構(gòu)的多級緩沖區(qū)同步策略對顯示控制器的像素時鐘頻率和掃描線時序參數(shù)進行調(diào)節(jié)處理,得到幀率控制參數(shù)包括:
34、根據(jù)所述緩沖區(qū)配置參數(shù)建立緩沖區(qū)狀態(tài)轉(zhuǎn)移矩陣,根據(jù)所述緩沖區(qū)狀態(tài)轉(zhuǎn)移矩陣通過動態(tài)規(guī)劃算法對緩沖區(qū)切換路徑進行最優(yōu)化計算處理,得到最優(yōu)緩沖區(qū)切換序列;
35、根據(jù)所述最優(yōu)緩沖區(qū)切換序列重新分配多級緩沖區(qū)的讀寫優(yōu)先級和訪問權(quán)限,得到重構(gòu)的多級緩沖區(qū)同步策略;
36、根據(jù)所述重構(gòu)的多級緩沖區(qū)同步策略計算顯示控制器的像素時鐘分頻系數(shù),根據(jù)所述像素時鐘分頻系數(shù)通過時鐘頻率調(diào)制算法對像素時鐘頻率進行調(diào)節(jié)處理,得到調(diào)節(jié)后的像素時鐘頻率;
37、根據(jù)所述調(diào)節(jié)后的像素時鐘頻率計算掃描線的水平同步間隔和垂直同步間隔,根據(jù)所述水平同步間隔和垂直同步間隔通過時序參數(shù)優(yōu)化算法對掃描線時序參數(shù)進行調(diào)節(jié)處理,得到幀率控制參數(shù)。
38、本發(fā)明第二方面提供了一種顯示屏的畫面幀率調(diào)整裝置,所述顯示屏的畫面幀率調(diào)整裝置包括:
39、時序預(yù)測模塊,用于通過檢測向顯示屏輸出信號的顯示控制器中相鄰掃描線時間間隔變化對顯示控制器的垂直回掃窗口進行預(yù)測處理,得到垂直回掃窗口預(yù)測時間;
40、緩沖鎖定模塊,用于根據(jù)所述垂直回掃窗口預(yù)測時間對向顯示屏供應(yīng)數(shù)據(jù)的多級幀緩沖區(qū)進行原子性鎖定處理,得到緩沖區(qū)切換控制信號;
41、渲染分析模塊,用于根據(jù)所述緩沖區(qū)切換控制信號對渲染顯示屏畫面的gpu渲染管線進行渲染完成度分析處理,得到渲染完成度評估結(jié)果;
42、策略重構(gòu)模塊,用于根據(jù)所述渲染完成度評估結(jié)果對顯示屏的多級緩沖區(qū)同步策略進行重構(gòu),基于重構(gòu)的多級緩沖區(qū)同步策略對顯示屏畫面幀率進行調(diào)整。
43、本發(fā)明第三方面提供了一種顯示屏的畫面幀率調(diào)整裝置,包括:存儲器和至少一個處理器,所述存儲器中存儲有指令,所述存儲器和所述至少一個處理器通過線路互連;所述至少一個處理器調(diào)用所述存儲器中的所述指令,以使得所述顯示屏的畫面幀率調(diào)整設(shè)備執(zhí)行上述的顯示屏的畫面幀率調(diào)整方法的步驟。
44、本發(fā)明的第四方面提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有指令,當其在計算機上運行時,使得計算機執(zhí)行上述的顯示屏的畫面幀率調(diào)整方法的步驟。
45、上述顯示屏的畫面幀率調(diào)整方法、裝置、設(shè)備及存儲介質(zhì),通過檢測顯示控制器中相鄰掃描線時間間隔變化對垂直回掃窗口進行預(yù)測處理,得到垂直回掃窗口預(yù)測時間;根據(jù)垂直回掃窗口預(yù)測時間對多級幀緩沖區(qū)進行原子性鎖定處理,得到緩沖區(qū)切換控制信號;根據(jù)緩沖區(qū)切換控制信號對gpu渲染管線進行渲染完成度分析處理,得到并根據(jù)渲染完成度評估結(jié)果對多級緩沖區(qū)同步策略進行重構(gòu),基于重構(gòu)的同步策略對顯示屏畫面幀率進行調(diào)整。本發(fā)明通過精確預(yù)測垂直回掃窗口時機并實施原子性緩沖區(qū)鎖定,確保幀緩沖區(qū)切換與顯示掃描器位置的精確同步,有效解決了緩沖區(qū)切換時機不當造成的單幀閃爍問題,提升了專業(yè)顯示應(yīng)用的視覺連續(xù)性。
46、本發(fā)明的其他特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
47、為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。