Dynamic timer and VirtIO GPU performance optimization method
A timer and dynamic change technology, applied in the direction of processor architecture/configuration, multi-programming device, resource allocation, etc., can solve the problems of long virtual rendering time and low performance at the VirtIOGPU level, and improve the overall graphics performance and performance. The effect of high amplitude and good compatibility
- Summary
- Abstract
- Description
- Claims
- Application Information
AI Technical Summary
Problems solved by technology
Method used
Image
Examples
Embodiment 1
[0090] The dynamic algorithm of this embodiment is an exponential increasing algorithm within a specified interval, for example, the setting rule is:
[0091] This time-out time = the last time-out time × multiplication factor.
[0092] The initial value of the timeout period is 100 microseconds, and the maximum value is 10 milliseconds.
[0093] For the VirtIO GPU performance optimization method based on this dynamic timer, see Figure 4 , which includes the following steps:
[0094] Step S1, the VirtIO GPU device receives the rendering request;
[0095] Step S2, the VirtIO GPU forwards the rendering request to the physical graphics card;
[0096] Step S3, the VirtIO GPU queries the completion status of all rendering requests in the physical graphics card, and notifies the application of the completed requests. If the current request has also been processed, the rendering ends; otherwise, if the current request has not been processed, go to step S4.
[0097] Step S4, the...
example 2
[0105] Example 2. Dynamic approximation algorithm:
[0106] In the dynamic approximation algorithm of this embodiment, the initial (ie, the first) timeout time of the dynamic timer of each rendering task is dynamically changed, which is affected by the completion of the previous task. If the previous task is completed within the first timeout, the current rendering task will try to shorten the initial timeout. If the previous task fails to complete within the first timeout, the current task will try to increase the initial timeout. In addition, the second and subsequent timeouts are not affected by the previous task and are fixed at 100 microseconds.
[0107] Algorithm logic:
[0108] Define the initial timeout of the dynamic timer of the current rendering task n as t n , the initial timeout of the dynamic timer of the next rendering task is defined as t n+1 , then there are:
[0109]
[0110] Among them: the time unit is microsecond, n is the rendering task, R n Indic...
example 3
[0122] Example 3. Moving average algorithm:
[0123] In the moving average algorithm of this embodiment, the timeout time (including the first time and later) of the dynamic timer of each rendering task n changes dynamically, which mainly refers to the moving average of the total timeout time when the first 10 tasks are completed. value.
[0124] Algorithm logic:
[0125] Define the rendering task as n, and define the single timeout time of the dynamic timer of the current rendering task n as t n , the single timeout of the next rendering task is defined as t n+1 , the total timeout when the current rendering task n is completed is defined as T n , the total timeout when the last rendering task is completed is defined as T n-1 , and so on, there are:
[0126]
[0127] Among them: the time units are all microseconds, p is the completion rate of the last 10 tasks within the first timeout (that is, p = the number of the last 10 tasks completed within the first timeout ÷ 1...
PUM
Login to View More Abstract
Description
Claims
Application Information
Login to View More 


