TW202420800A - 改善圖形性能的方法及其裝置 - Google Patents
改善圖形性能的方法及其裝置 Download PDFInfo
- Publication number
- TW202420800A TW202420800A TW111144361A TW111144361A TW202420800A TW 202420800 A TW202420800 A TW 202420800A TW 111144361 A TW111144361 A TW 111144361A TW 111144361 A TW111144361 A TW 111144361A TW 202420800 A TW202420800 A TW 202420800A
- Authority
- TW
- Taiwan
- Prior art keywords
- vertical synchronization
- frame
- synchronization signal
- frequency
- period
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/2007—Display of intermediate tones
- G09G3/2018—Display of intermediate tones by time modulation using two or more time intervals
- G09G3/2022—Display of intermediate tones by time modulation using two or more time intervals using sub-frames
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/37—Details of the operation on graphic patterns
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/02—Addressing, scanning or driving the display screen or processing steps related thereto
- G09G2310/0264—Details of driving circuits
- G09G2310/0286—Details of a shift registers arranged for use in a driving circuit
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本發明描述了一種改善圖形性能的方法及其裝置。該方法包含:確定渲染到訊框暫存器中的當前訊框是否是由第一垂直同步訊號定義的第一垂直同步時段中的第一訊框;以及當該當前訊框為該第一訊框時,在該第一垂直同步時段內將第一下一訊框預渲染到該訊框暫存器中。本發明提供的改善圖形性能的方法及其裝置可改善使用者觀看體驗。
Description
本發明總體有關於影像處理,以及,更具體地,有關於改善圖形性能的方法及其裝置。
本文提供的背景描述是為了總體上呈現本發明內容的目的。在此背景技術部分中描述的工作的範圍內,當前署名的發明人的工作以及說明書在提交時不能定性為先前技術的方面相對于本發明均未被明確或暗示地承認為先前技術。
電子設備經常利用圖形處理單元(GPU)來加速圖形資料的渲染以供顯示。使用者體驗部分取決於使用者介面(UI)動畫在電子設備上針對任何特定應用程式運行的流暢程度。例如,安卓系統經常由於跳訊框或丟訊框而卡頓。
第1圖是先前技術中正常渲染進程的示意圖。
該時序圖示出了系統和顯示器的活動時段,其中,系統可以包括中央處理單元(CPU)、顯示硬體(或GPU)和合成引擎(合成硬體/軟體模組)。
系統負責對訊框進行渲染,其中,每一訊框用數字編號的方框表示,例如F0、F1、F2、F3等。 VSYNC 訊號(也可以是 VSync 訊號或 VSYNC 脈衝)週期性地觸發 UI 的渲染。首先,系統在第一個 VSYNC 訊號到達後渲染訊框 F0。然後,在第二個 VSYNC 訊號到達後,系統渲染訊框 F1,並且顯示器顯示訊框 F0,以此類推。在兩個 VSYNC 訊號之間渲染每一訊框。
然而,系統可能無法在兩個VSYNC訊號之間的分配時間內完成複雜的渲染操作。造成這種情況的原因可能是網路載入緩慢、應用程式中存在一個或複數個錯誤、複雜的場景設計以及系統支援能力不足等。這將導致丟訊框。
第2圖是先前技術中出現丟訊框的渲染進程的示意圖。由於某種原因,CPU資源被佔用執行其他計算密集型任務,或者GPU渲染的動畫訊框過於複雜,這樣導致系統無法在第五個VSYNC訊號到達之前及時完成訊框F3的渲染。也就是說,系統的渲染時間可能會超過兩個 VSYNC 訊號之間的時間段。由於還未完成訊框F3的渲染,所以當第五個VSYNC訊號到來時,顯示器無法顯示訊框F3。結果是發生丟訊框,這樣可能會導致視覺卡頓或斷斷續續播放,而不是平滑的回應式移動,例如,當使用者滑動生成的顯示畫面時。
因此,需要一種新穎方法來解決上述問題,從而給使用者帶來更佳觀看體驗。
下文的發明內容僅係說明性的,而不旨在以任何方式進行限制。也就是說,提供下文發明內容來介紹本文所述的新穎且非顯而易見技術的概念、要點、益處和有益效果。所選實施方式在下文詳細描述中進一步描述。因此,下文發明內容並不旨在標識所要求保護主題的基本特徵,也不旨在用於確定所要求保護主題的範圍。
本發明提供一種改善圖形性能的方法及其裝置,以解決上述問題。
在本發明實施例中,提供一種改善圖形性能的方法。該方法包含下列步驟:確定渲染到訊框暫存器中的當前訊框是否是由第一垂直同步(VSYNC)訊號定義的第一垂直同步時段中的第一訊框;以及當該當前訊框為該第一訊框時,在該第一垂直同步時段內將第一下一訊框預渲染到該訊框暫存器中。
在實施例中,改善圖形性能的方法進一步包含下列步驟:判斷第二垂直同步訊號的頻率是否不同於該第一垂直同步訊號在該第一垂直同步時段中的頻率,其中,該第二垂直同步訊號是緊接該第一垂直同步訊號之後的垂直同步訊號;以及當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率不同時,在由該第二垂直同步訊號定義的該第二垂直同步時段中預渲染第二下一訊框,其中,該第二下一訊框是在該第二垂直同步時段中被調度渲染訊框的下一訊框。
在實施例中,改善圖形性能的方法進一步包含下列步驟:當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率相同時,等待第三垂直同步訊號,其中,該第三垂直同步訊號是緊接該第二垂直同步訊號之後的垂直同步訊號。
在本發明實施例中,提供一種改善圖形性能的方法。該方法包含下列步驟:確定在由第一垂直同步訊號定義的第一垂直同步時段中渲染到訊框暫存器中的當前訊框是否已經發生丟訊框;以及當確定該當前訊框已發生丟訊框時,在該第一垂直同步時段中將第一下一訊框預渲染到該訊框暫存器中或在由第二垂直同步訊號定義的第二垂直同步時段中將第二下一訊框預渲染到該訊框暫存器中,其中,該第二垂直同步訊號是在緊接該第一垂直同步訊號之後的垂直同步訊號,該第一下一訊框是緊接該當前訊框之後的訊框,並且該第二下一訊框為該第二垂直同步時段內緊接被調度渲染訊框的下一訊框。
在實施例中,改善圖形性能的方法進一步包含下列步驟:確定該第二垂直同步訊號的頻率是否不同於該第一垂直同步訊號在該第一垂直同步時段中的頻率;當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率不同時,確定該第二下一訊框是否已經在該第二個垂直同步時段被預渲染到該訊框緩衝器中;以及當該第二下一訊框在該第二垂直同步時段內未被預渲染到該訊框暫存器中時,在該第二垂直同步時段內預渲染該第二下一訊框。
在實施例中,改善圖形性能的方法進一步包含下列步驟:當該第二下一訊框已經在該第二垂直同步時段中被預渲染到該訊框暫存器中時,等待第三垂直同步訊號,其中,該第三垂直同步訊號是緊接該第二垂直同步訊號的垂直同步訊號。
在實施例中,改善圖形性能的方法進一步包含下列步驟:當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率相同時,等待第三垂直同步訊號,其中,該第三垂直同步訊號是緊接該第二垂直同步訊號之後的垂直同步訊號。
在本發明實施例中,提供一種用於改善圖形性能的裝置。該裝置包含至少一個處理器以及電腦可讀存儲介質。配置該電腦可讀存儲介質存儲指令,當該至少一個處理器執行該指令時,該裝置執行下列功能:確定渲染到訊框暫存器中的當前訊框是否是由第一垂直同步訊號定義的第一垂直同步時段中的第一訊框;以及當該當前訊框為該第一訊框時,在該第一垂直同步時段內將第一下一訊框預渲染到該訊框暫存器中。
在本發明實施例中,提供一種用於改善圖形性能的裝置。該裝置包含至少一個處理器以及電腦可讀存儲介質。配置該電腦可讀存儲介質存儲指令,當該至少一個處理器執行該指令時,該裝置執行下列功能:確定在由第一垂直同步訊號定義的第一垂直同步時段中渲染到訊框暫存器中的當前訊框是否已經發生丟訊框;以及當確定該當前訊框已發生丟訊框時,在該第一垂直同步時段中將第一下一訊框預渲染到該訊框暫存器中或在由第二垂直同步訊號定義的第二垂直同步時段中將第二下一訊框預渲染到該訊框暫存器中,其中,該第二垂直同步訊號是在緊接該第一垂直同步訊號之後的垂直同步訊號,該第一下一訊框是緊接該當前訊框之後的訊框,並且該第二下一訊框為該第二垂直同步時段內緊接被調度渲染訊框的下一訊框。
本發明提供的改善圖形性能的方法及其裝置可改善使用者觀看體驗。
在說明書及申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬技術領域的技術人員應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及申請專利範圍並不以名稱的差異作為區分元件的方式,而是以元件在功能上的差異作為區分的準則。在通篇說明書及申請專利範圍項中所提及的「包含」為一開放式的用語,故應解釋成「包含但不限定於」。此外,「耦接」一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述第一裝置耦接於第二裝置,則代表第一裝置可直接電氣連接於第二裝置,或透過其它裝置或連接手段間接地電氣連接至第二裝置。
接下來的描述是實現本發明的最佳實施例,其是為了描述本發明原理的目的,並非對本發明的限制。可以理解地是,本發明實施例可由軟體、硬體、韌體或其任意組合來實現。
就本發明而言,「VSYNC」是計算系統內的訊號或脈衝,用於將特定事件與顯示器的刷新週期進行同步。應用程式在 VSYNC 邊界開始繪圖,並且合成硬體或軟體(例如,安卓作業系統使用的 SurfaceFlinger模組)可以在 VSYNC 邊界開始進行合成。這允許通過 VSYNC 訊號的週期性同步的平滑應用程式渲染(基於時間的動畫)。
第3圖是描述可實施本發明的改善圖形性能技術的示例裝置的方塊圖。第3圖描述了包括GPU 310、系統記憶體330和可以是中央處理單元(CPU)的處理器320的裝置300。裝置300的示例包括但不限於諸如媒體播放機的視頻裝置、機上盒、諸如行動電話的無線手持機、個人數位助理(PDA)、臺式電腦、膝上型電腦、遊戲控制台、視訊會議單元、平板計算裝置和其他此類裝置。裝置300可以包括除了第3圖所示元件之外的其他元件。
系統記憶體330可以被認為是裝置300的記憶體。系統記憶體330可以包括一個或複數個電腦可讀存儲介質。系統記憶體330的示例包括但不限於隨機存取記憶體(RAM)、電擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或可用於承載或存儲所需程式碼的任何其他介質,其中,該程式碼是指令和/或資料結構形式,並且可以由電腦或處理器訪問。
在一些方面,系統記憶體330可以包括使處理器320和/或GPU 310執行在本發明中分配給處理器320和GPU 310的功能的指令。因此,系統記憶體330可以是其上存儲有指令的電腦可讀存儲介質,當執行這些指令時,一個或複數個處理器(例如,處理器320和GPU 310)執行各種功能。
在一些示例中,系統記憶體330可以被認為是非暫時性存儲介質。術語「非暫時性」可以表示存儲介質不包含在載波或傳播訊號中。然而,術語「非暫時性」不應被解釋為系統記憶體330是不可移動的或其內容是靜態的。作為一個示例,系統記憶體330可以從裝置300中移除,並且移動到另一裝置。作為另一個示例,可以將與系統記憶體330相似的記憶體插入到裝置300中。在某些示例中,非暫時性存儲介質可以存儲隨著時間而改變的資料(例如,在RAM中)。
在一些示例中,例如裝置300是無線手持通訊裝置的示例中,處理器320和GPU 310可以形成在積體電路(IC)中。例如,IC可以被認為是晶片封裝中的處理晶片,或者它可以被認為是片上系統或其一部分。在一些示例中,處理器320和GPU 310可以處在不同的積體電路(即,不同的晶片封裝)中,例如當裝置300是臺式或膝上型電腦時。然而,在裝置300是無線手持通訊設備的示例中,處理器320和GPU 310可能被安置在不同的積體電路中。
處理器 320 和 GPU 310 的示例包括但不限於數位訊號處理器 (DSP)、通用微處理器、專用積體電路(ASIC)、現場可程式設計邏輯陣列(FPGA)或其他等效的集成或分立邏輯電路。在一些示例中,GPU 310可以是專用硬體,其包括為GPU 310提供適當圖形處理的大量並行處理能力的集成和/或離散邏輯電路。在一些情況下,GPU 310還可以包括通用處理能力,並且在實現通用處理任務(即,非圖形相關任務)時可以被稱為通用GPU(GPGPU)。
處理器320可以執行各種類型的應用。應用程式的示例包括網頁流覽器、電子郵件應用、試算表、視頻遊戲或生成可視物件以供顯示的其他應用程式。用於執行一個或複數個應用程式的指令可以存儲在系統記憶體330內。處理器320可以將可視物件的圖形資料傳輸到GPU 310以供進一步處理。
例如,處理器320可以將處理任務卸載到GPU 310,例如需要大量平行作業的任務。作為一個示例,圖形處理需要大量平行作業,並且處理器320可以將這樣的圖形處理任務卸載到GPU 310。處理器320可以依據特定的應用處理介面(API)與GPU 310通訊。此類 API 的示例包括微軟的 DirectX® API、科納斯組織的 OpenGL® API 和 OpenCL™ API;然而,本發明的方面不限於 DirectX、OpenGL 或 OpenCL API,並且可以擴展到其他類型的 API。此外,本發明中描述的技術不需要依據API起作用,並且處理器320和GPU 310可以利用任何技術進行通訊。
為了執行圖形操作,GPU 310可以實現圖形處理管線(graphics processing pipeline)。圖形處理管線包括執行由在GPU 310上執行的軟體或韌體定義的功能,以及由硬連線以執行特定功能的固定功能單元執行的功能。在 GPU 310 上執行的軟體或韌體可以稱為著色器程式(或簡稱為著色器),並且著色器程式可以在 GPU 310 的一個或複數個著色器核心上執行。因為使用者可以設計著色器程式以任何可能的方式執行所需任務,所以著色器程式為使用者提供了功能靈活性。然而,對於固定功能單元執行任務的方式,固定功能單元是硬連線的。因此,固定功能單元可能無法提供很大的功能靈活性。
例如,處理器320可以執行應用程式,例如視頻遊戲,並且處理器320可以生成圖形資料作為執行的一部分。處理器320可以輸出圖形資料以供GPU 310處理。然後,GPU 310可以在圖形管線中處理圖形資料。在一些示例中,為了處理圖形資料,GPU 310可能需要執行一個或複數個著色器程式。例如,在處理器320上執行的應用程式可以使處理器320指示GPU 310從系統記憶體130檢索著色器程式,並指示GPU 310執行著色器程式。
GPU 310還可以被配置為執行由處理器320向GPU 310發出的命令。由GPU 310執行的命令可以包括通用計算命令、任務執行命令(例如,內核執行命令)、記憶體傳輸命令等。GPU 310 可以被配置為執行在處理器 320 上執行的應用程式的通用計算。例如,當在處理器 320 上執行的主機程式決定卸載計算任務給GPU 310,處理器320可以向GPU 310提供通用計算資料,並向GPU 310發出一個或複數個通用計算命令。通用計算命令可以包括例如內核執行命令、記憶體傳輸命令等。在一些示例中,處理器320可以通過將命令和資料寫入系統記憶體330來向GPU 310提供命令和通用計算資料,其中,系統記憶體330可以由GPU 310進行訪問。
可選地,裝置300還可以包括顯示器340、使用者介面350和收發器模組360。為了簡潔,裝置300可以包括第3圖中未示出的附加模組或單元。例如,裝置300可以包括揚聲器和麥克風,以在裝置300是移動無線電話的示例中實現電話通訊,它們都未在第3圖中示出。此外,在裝置300的每個示例中,裝置300中所示的各種模組和單元可能不是必需的。例如,在裝置300是臺式電腦的示例中,使用者介面350和顯示器340可位於裝置300的外部。作為另一示例,在顯示器340是移動設備的觸敏或存在敏感顯示器的示例中,使用者介面350可以是顯示器340的一部分。
使用者介面350的示例包括但不限於軌跡球、滑鼠、鍵盤和其他類型的輸入裝置。使用者介面350也可以是觸控式螢幕並且可以作為顯示器340的一部分。收發器模組360可以包括允許裝置300與另一裝置或網路之間的無線或有線通訊的電路。收發器模組360可以包括調製器、解調器、放大器和用於有線或無線通訊的其他此類電路。顯示器340可以包括液晶顯示器(LCD)、陰極射線管(CRT)顯示器、等離子顯示器、觸敏顯示器、存在敏感顯示器或其他類型的顯示裝置。
如將在下文更詳細解釋的,依據本發明技術,GPU 310可以依據由處理器320生成的渲染命令來渲染訊框,並將渲染的訊框存儲在訊框暫存器(第3圖中未示出)中。在一個實施例中,訊框暫存器可以是系統記憶體330的一部分。在其他實施例中,訊框暫存器可以是單獨記憶體設備的一部分。
第4圖是依據本發明實施例的改善圖形性能的方法的流程圖400,其中,該方法可由第3圖的裝置300中的處理器執行。
在步驟S405中,處理器確定渲染到訊框暫存器中的當前訊框是否是由第一VSYNC訊號定義的第一垂直同步(VSYNC)時段中的第一訊框。需要注意的是,將VSYNC訊號的一個週期設置為一個VSYNC時段,並且VSYNC時段為1/f(其中,f為每秒訊框數(FPS)或顯示器的顯示刷新率)。儘管不是必需的,值1/f通常以毫秒為單位測量。在一個實施例中,第一VSYNC訊號到達的時間是產生動畫的時間(例如,滾動顯示後手指離開顯示器的時間)。
當當前訊框為第一訊框時,(步驟S405中為「是」),在步驟S410中,處理器在第一VSYNC時段內將第一下一訊框預渲染到訊框暫存器中,其中,第一下一訊框為緊接在第一訊框之後的訊框,然後執行步驟S415。
在步驟S415中,處理器判斷第二VSYNC訊號的頻率是否不同於第一VSYNC訊號在第一VSYNC時段中的頻率,其中,第二VSYNC訊號是緊接第一VSYNC訊號之後的VSYNC訊號。
當第二VSYNC訊號的頻率與第一VSYNC訊號的頻率不同時(步驟S415中的「是」),在步驟S420中,處理器在由第二VSYNC訊號定義的第二VSYNC時段中預渲染第二下一訊框,其中,該第二下一訊框是在第二VSYNC時段中被調度渲染訊框的下一訊框。在一個實施例中,處理器在預渲染第二下一訊框之前,進一步重置第二下一訊框的原始狀態。其中,重置訊框的原始狀態意味著在每次丟訊框之後,需要以下一個正常訊框的時間為基礎,處理器重新計算及規劃後續處理。
當第二VSYNC訊號的頻率與第一VSYNC訊號的頻率相同時(步驟S415中的「否」),在步驟S425中,處理器等待第三VSYNC訊號,其中,第三VSYNC訊號是緊接第二VSYNC訊號之後的VSYNC訊號。
第5圖是依據本發明實施例進一步說明第4圖的流程圖400中的步驟S410的示意圖。
如第5圖所示,當處理器確定當前渲染到訊框暫存器中的訊框F0是第一VSYNC訊號定義的第一VSYNC時段中的第一訊框時,處理器在第一VSYNC時段中將第二訊框F1預渲染到訊框暫存器中。當在第四VSYNC時段出現丟訊框F3時,由於訊框F1在第一VSYNC時段被預渲染,所以顯示器可以及時顯示訊框F2。
第6圖是依據本發明實施例進一步說明第4圖的流程圖400中的步驟S420的示意圖。
如第6圖所示,當處理器確定當前渲染到訊框暫存器中的訊框F0是由第一VSYNC訊號定義的第一VSYNC時段中的第一訊框時,處理器在第一VSYNC週期中將第二訊框F1預渲染到訊框暫存器中。在第一VSYNC時段,處理器判斷第二VSYNC訊號的頻率是否不同於第一VSYNC訊號的頻率。當第二VSYNC訊號的頻率與第一VSYNC訊號的頻率不同時,處理器在第二VSYNC時段中被調度渲染訊框F2之後預渲染訊框F3。在一些實施例中,在預渲染訊框F3之前,處理器進一步重置訊框F3的原始狀態。
第7圖是依據本發明實施例的改善圖形性能的方法的流程圖700,其中,該方法可由第3圖的裝置300中的處理器執行。
在步驟S705中,處理器確定在由第一VSYNC訊號定義的第一VSYNC時段中渲染到訊框暫存器中的當前訊框是否已經發生丟訊框。需要說明的是,將VSYNC訊號的一個週期設置為一個VSYNC時段,VSYNC時段為1/f(其中,f為每秒訊框數或顯示器的顯示刷新率)。儘管不是必需的,值 1/f 通常可以以毫秒為單位進行測量。
當當前訊框已發生丟訊框時,(步驟S705中的「是」),在步驟S710中,處理器在第一VSYNC時段中將第一下一訊框預渲染到訊框暫存器中或在由第二VSYNC訊號定義的第二VSYNC時段中將第二下一訊框預渲染到訊框暫存器中,其中,第二VSYNC訊號是在緊接第一VSYNC訊號之後的VSYNC訊號,第一下一訊框是緊接當前訊框之後的訊框,並且第二下一訊框為第二VSYNC時段內緊接被調度渲染訊框的下一訊框,然後執行步驟S715。
在步驟S715中,處理器確定第二VSYNC訊號的頻率是否不同於第一VSYNC訊號在第一VSYNC時段中的頻率。
當第二VSYNC訊號的頻率與第一VSYNC訊號的頻率不同時(步驟S715中的「是」),在步驟S725中,處理器確定第二下一訊框是否已經在第二個VSYNC 時段被預渲染到訊框緩衝器中。
當第二VSYNC訊號的頻率與第一VSYNC訊號的頻率相同時(步驟S715中的「否」),在步驟S720中,處理器等待第三VSYNC訊號,其中,第三VSYNC訊號是緊接第二VSYNC訊號之後的VSYNC訊號。
回到步驟S725,當第二下一訊框在第二VSYNC時段內未被預渲染到訊框暫存器中時(步驟S725中的「否」),在步驟S730中,處理器在第二 VSYNC 時段內預渲染第二下一訊框。在一個實施例中,在預渲染第二下一訊框之前,處理器進一步重置第二下一訊框的原始狀態。
當第二下一訊框已經在第二VSYNC時段中被預渲染到訊框暫存器中時(步驟S725中的「是」),在步驟S720中,處理器等待第三VSYNC訊號。
第8A圖和8B是依據本發明實施例進一步說明第7圖的流程圖700中的步驟S710的示意圖。
當處理器確定渲染的當前訊框F3已經在由第四VSYNC訊號定義的第四VSYNC時段中發生丟訊框時,處理器可以在第四VSYNC時段中將第一下一訊框F4預渲染到訊框暫存器中(如第8A圖所示),或者處理器可以在第五VSYNC時段內在被調度渲染訊框F4之後預渲染第二下一訊框F5(如第8B圖所示)。此外,當處理器確定渲染的訊框已經在第N個VSYNC時段中發生丟訊框時,處理器可以在第N個VSYNC時段中將下一訊框預渲染到訊框暫存器中,或者處理器可以在第N+1個VSYNC時段內在被調度渲染下一訊框之後預渲染緊接下一訊框之後的訊框。
第9圖是依據本發明實施例進一步說明第7圖的流程圖700中的步驟S730的示意圖。
如第9圖所示,當處理器確定在由第四VSYNC訊號定義的第四VSYNC時段中當前渲染的訊框F3已經發生丟訊框時,處理器可以在第四VSYNC時段將第一下一訊框F4預渲染到訊框暫存器中。在第四VSYNC時段,處理器進一步判斷第四VSYNC訊號的頻率是否不同於第五VSYNC訊號的頻率。當第四VSYNC訊號的頻率與第五VSYNC訊號的頻率不同時,處理器在第五VSYNC時段被調度渲染的訊框F5之後預渲染訊框F6。在一些實施例中,在預渲染訊框F6之前,處理器進一步重置訊框F6的原始狀態。
因此,本發明實施例提供的一種改善圖形性能的方法和裝置,可以預先渲染訊框,以避免丟訊框導致的視覺卡頓,從而給使用者帶來更佳觀看體驗。
此外,裝置300中的處理器320可以執行系統記憶體330中的程式碼,以執行上述動作和步驟或本文中的其他描述內容。
應當理解的是,任何公開的過程中的任何特定順序或步驟層次結構都是示例。應當理解的是,基於設計偏好,可以重新安排進程中步驟的特定順序或層次結構,同時保持在本發明的範圍內。隨附的方法申請專利範圍以示例順序呈現各個步驟的元素,並不意味著限於呈現的特定順序或層次結構。
像「第一」、「第二」、「第三」等在權利要求書中修飾元件的序詞並不意味著自身具有任何優先權、優先順序或者一個元件的等級高於另一個元件或者方法執行的時間順序,而僅僅作為標號用於區分一個具有確切名稱的元件與具有相同名稱(除了修飾序詞)的另一元件。
本發明雖以較佳實施例揭露如上,但是其並非用以限定本發明的範圍,任何熟悉此項技術者,在不脫離本發明的精神和範圍內,做均等的變化與修飾,皆屬於本發明的涵蓋範圍。
300:裝置
310:GPU
320:處理器
330:系統記憶體
340:顯示器
350:使用者介面
360:收發器模組
400,700:流程圖
S405,S410,S415,S420,S425,S705,S710,S715,S720,S725,S730:步驟
所包含的附圖用以提供對發明的進一步理解,以及,被併入且構成本發明的一部分。附圖示出了發明的實施方式,並與說明書一起用於解釋本發明的原理。可以理解的是,為了清楚地說明本發明的概念,附圖不一定按比例繪製,所示出的一些組件可以以超出實際實施方式中尺寸的比例示出。
第1圖是先前技術中正常渲染進程的示意圖。
第2圖是先前技術中出現丟訊框的渲染進程的示意圖。
第3圖是描述可實施本發明的改善圖形性能技術的示例裝置的方塊圖。
第4圖是依據本發明實施例的改善圖形性能的方法的流程圖。
第5圖是依據本發明實施例進一步說明第4圖的流程圖中的步驟S410的示意圖。
第6圖是依據本發明實施例進一步說明第4圖的流程圖中的步驟S420的示意圖。
第7圖是依據本發明實施例的改善圖形性能的方法的流程圖。
第8A圖和第8B圖是依據本發明實施例進一步說明第7圖的流程圖中的步驟S710的示意圖。
第9圖是依據本發明實施例進一步說明第7圖的流程圖中的步驟S730的示意圖。
400:流程圖
S405,S410,S415,S420,S425:步驟
Claims (10)
- 一種改善圖形性能的方法,包括: 確定渲染到一訊框暫存器中的一當前訊框是否是由一第一垂直同步訊號定義的一第一垂直同步時段中的一第一訊框;以及 當該當前訊框為該第一訊框時,在該第一垂直同步時段內將第一下一訊框預渲染到該訊框暫存器中。
- 如請求項1所述的改善圖形性能的方法,其中,進一步包含: 判斷第二垂直同步訊號的頻率是否不同於該第一垂直同步訊號在該第一垂直同步時段中的頻率,其中,該第二垂直同步訊號是緊接該第一垂直同步訊號之後的垂直同步訊號;以及 當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率不同時,在由該第二垂直同步訊號定義的該第二垂直同步時段中預渲染第二下一訊框,其中,該第二下一訊框是在該第二垂直同步時段中被調度渲染訊框的下一訊框。
- 如請求項2所述的改善圖形性能的方法,其中,進一步包含: 當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率相同時,等待第三垂直同步訊號,其中,該第三垂直同步訊號是緊接該第二垂直同步訊號之後的垂直同步訊號。
- 一種改善圖形性能的方法,包括: 確定在由一第一垂直同步訊號定義的一第一垂直同步時段中渲染到一訊框暫存器中的一當前訊框是否已經發生丟訊框;以及 當確定該當前訊框已發生丟訊框時,在該第一垂直同步時段中將第一下一訊框預渲染到該訊框暫存器中或在由一第二垂直同步訊號定義的一第二垂直同步時段中將第二下一訊框預渲染到該訊框暫存器中,其中,該第二垂直同步訊號是在緊接該第一垂直同步訊號之後的垂直同步訊號,該第一下一訊框是緊接該當前訊框之後的訊框,並且該第二下一訊框為該第二垂直同步時段內緊接被調度渲染訊框的下一訊框。
- 如請求項4所述的改善圖形性能的方法,其中,進一步包含: 確定該第二垂直同步訊號的頻率是否不同於該第一垂直同步訊號在該第一垂直同步時段中的頻率; 當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率不同時,確定該第二下一訊框是否已經在該第二個垂直同步時段被預渲染到該訊框緩衝器中;以及 當該第二下一訊框在該第二垂直同步時段內未被預渲染到該訊框暫存器中時,在該第二垂直同步時段內預渲染該第二下一訊框。
- 如請求項5所述的改善圖形性能的方法,其中,進一步包含: 當該第二下一訊框已經在該第二垂直同步時段中被預渲染到該訊框暫存器中時,等待第三垂直同步訊號,其中,該第三垂直同步訊號是緊接該第二垂直同步訊號的垂直同步訊號。
- 如請求項5所述的改善圖形性能的方法,其中,進一步包含: 當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率相同時,等待第三垂直同步訊號,其中,該第三垂直同步訊號是緊接該第二垂直同步訊號之後的垂直同步訊號。
- 一種用於改善圖形性能的裝置,包含: 一至少一個處理器;以及 一電腦可讀存儲介質,配置該電腦可讀存儲介質存儲指令,當該至少一個處理器執行該指令時,該裝置執行下列功能: 確定渲染到訊框暫存器中的當前訊框是否是由第一垂直同步訊號定義的第一垂直同步時段中的第一訊框;以及 當該當前訊框為該第一訊框時,在該第一垂直同步時段內將第一下一訊框預渲染到該訊框暫存器中。
- 如請求項8所述的用於改善圖形性能的裝置,其中,該裝置執行的功能進一步包含: 判斷第二垂直同步訊號的頻率是否不同於該第一垂直同步訊號在該第一垂直同步時段中的頻率,其中,該第二垂直同步訊號是緊接該第一垂直同步訊號之後的垂直同步訊號;以及 當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率不同時,在由該第二垂直同步訊號定義的該第二垂直同步時段中預渲染第二下一訊框,其中,該第二下一訊框是在該第二垂直同步時段中被調度渲染訊框的下一訊框。
- 如請求項9所述的用於改善圖形性能的裝置,其中,該裝置執行的功能進一步包含: 當該第二垂直同步訊號的該頻率與該第一垂直同步訊號的該頻率相同時,等待第三垂直同步訊號,其中,該第三垂直同步訊號是緊接該第二垂直同步訊號之後的垂直同步訊號。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211357576.4 | 2022-11-01 | ||
| CN202211357576.4A CN118038780A (zh) | 2022-11-01 | 2022-11-01 | 改善图形性能的方法及其装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI831480B TWI831480B (zh) | 2024-02-01 |
| TW202420800A true TW202420800A (zh) | 2024-05-16 |
Family
ID=90824605
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111144361A TWI831480B (zh) | 2022-11-01 | 2022-11-21 | 改善圖形性能的方法及其裝置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12367541B2 (zh) |
| CN (1) | CN118038780A (zh) |
| TW (1) | TWI831480B (zh) |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003280600A (ja) * | 2002-03-20 | 2003-10-02 | Hitachi Ltd | 表示装置およびその駆動方法 |
| WO2016200558A1 (en) | 2015-06-07 | 2016-12-15 | Apple Inc. | Graphics engine and environment for efficient real time rendering of graphics that are not pre-known |
| US10388255B2 (en) * | 2018-06-29 | 2019-08-20 | Intel Corporation | Computers for supporting multiple virtual reality display devices and related methods |
| WO2020062069A1 (en) * | 2018-09-28 | 2020-04-02 | Qualcomm Incorporated | Frame composition alignment to target frame rate for janks reduction |
| WO2020062052A1 (en) * | 2018-09-28 | 2020-04-02 | Qualcomm Incorporated | Smart and dynamic janks reduction technology |
| US11200636B2 (en) | 2018-11-30 | 2021-12-14 | Mediatek Inc. | Method and apparatus for generating a series of frames with aid of synthesizer to offload graphics processing unit rendering in electronic device |
| US10942588B2 (en) * | 2019-03-02 | 2021-03-09 | Microsoft Technology Licensing, Llc | Latency adjustment of user input devices |
| CN109859694B (zh) * | 2019-03-19 | 2021-04-20 | 京东方科技集团股份有限公司 | 显示面板及其驱动控制方法、驱动控制电路、显示装置 |
| US11458391B2 (en) * | 2019-10-01 | 2022-10-04 | Sony Interactive Entertainment Inc. | System and method for improving smoothness in cloud gaming applications |
| WO2021232328A1 (en) * | 2020-05-21 | 2021-11-25 | Qualcomm Incorporated | Methods and apparatus for tickless pre-rendering |
| EP4169012A4 (en) | 2020-06-23 | 2024-01-17 | Qualcomm Incorporated | REDUCING POWER DEMAND TO GENERATE IMAGES FOR DISPLAY DEVICES |
| US20220013087A1 (en) * | 2020-07-08 | 2022-01-13 | Qualcomm Incorporated | Methods and apparatus for display processor enhancement |
| CN114092595B (zh) * | 2020-07-31 | 2022-11-04 | 荣耀终端有限公司 | 一种图像处理方法及电子设备 |
| US11373268B2 (en) | 2020-09-30 | 2022-06-28 | Qualcomm Incorporated | Apparatus and method for graphics processing unit hybrid rendering |
| CN112230776B (zh) * | 2020-10-29 | 2024-07-02 | 北京京东方光电科技有限公司 | 虚拟现实显示方法、装置及存储介质 |
| US12342034B2 (en) * | 2021-12-20 | 2025-06-24 | Intel Corporation | Multi-display video synchronization |
| US11854476B1 (en) * | 2022-06-16 | 2023-12-26 | Novatek Microelectronics Corp. | Timing controller having mechanism for frame synchronization, display panel thereof, and display system thereof |
-
2022
- 2022-11-01 CN CN202211357576.4A patent/CN118038780A/zh active Pending
- 2022-11-21 US US18/057,300 patent/US12367541B2/en active Active
- 2022-11-21 TW TW111144361A patent/TWI831480B/zh active
Also Published As
| Publication number | Publication date |
|---|---|
| CN118038780A (zh) | 2024-05-14 |
| TWI831480B (zh) | 2024-02-01 |
| US12367541B2 (en) | 2025-07-22 |
| US20240144415A1 (en) | 2024-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9881353B2 (en) | Buffers for display acceleration | |
| JP6467062B2 (ja) | スプーフクロック及び細粒度周波数制御を使用する下位互換性 | |
| CN111737019B (zh) | 一种显存资源的调度方法、装置及计算机存储介质 | |
| US9953620B2 (en) | Updating image regions during composition | |
| US8085280B2 (en) | Asymmetric two-pass graphics scaling | |
| WO2020207251A1 (zh) | 图像更新方法、装置、终端及存储介质 | |
| JP5792337B2 (ja) | グラフィクスのレンダリング中における電力消費の低減 | |
| KR20220143667A (ko) | 지연된 그래픽 프로세싱 유닛 렌더 시간을 보상하기 위한 감소된 디스플레이 프로세싱 유닛 전달 시간 | |
| WO2018000372A1 (zh) | 画面显示的方法和终端 | |
| CN114186527A (zh) | 一种不依赖于网格点实现集成电路自动布线的方法及装置 | |
| CN115699158A (zh) | 用于显示器的图像生成的功率需求降低 | |
| CN115826898B (zh) | 一种跨屏显示方法、系统、装置、设备及存储介质 | |
| CN109753262B (zh) | 帧显示处理方法、装置、终端设备及存储介质 | |
| US20190303322A1 (en) | Direct interrupt routing for display processing | |
| CN110489318B (zh) | systrace信息的抓取方法、装置、存储介质及终端 | |
| TW202420800A (zh) | 改善圖形性能的方法及其裝置 | |
| CN115151886A (zh) | 基于帧更新延迟dsi时钟改变以提供更平滑的用户界面体验 | |
| CN118196241A (zh) | 一种动画渲染方法、装置、设备及介质 | |
| WO2023136984A1 (en) | Dpu driven adaptive sync for command mode panels | |
| WO2021168771A1 (en) | Optimized method of page zeroing in memory pool | |
| WO2025020072A1 (en) | Modifying sensor and display characteristics in response to touch events | |
| CN115253291B (zh) | 一种运动状态识别方法、装置、存储介质及电子设备 | |
| WO2024239193A1 (en) | Quick event reporting from touch sensor to display panel to boost frame rate | |
| CN118672437A (zh) | 显示方法、装置、电子设备及存储介质 | |
| CN114339247A (zh) | 视频预览方法、装置、存储介质及电子设备 |