A configuration method and system for balanced transmission of graphic display data
By calculating and analyzing the data transmission amount of image display tasks in real time, calculating the optimal data transmission amount per unit time of GPU, and setting the number of video memory data transmission times through software, the display abnormality caused by insufficient resources during multi-image display tasks is solved, and a better user experience is achieved.
Patent Information
- Application Number
- CN202210181320.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-25
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-02-25
AI Technical Summary
When multiple image display tasks are run simultaneously, the problem of abnormal image display screen display due to insufficient image display resources.
By calculating the data transmission amount per unit time of all image display tasks in real time, analyzing the data transmission rate and the system maximum transmission rate, calculating the optimal data transmission amount per unit time of the graphics processor GPU, and optimizing the number of times the unit time is submitted to the video memory data through software.
On the premise of ensuring the quality of image display, rationally allocate display resources, adaptively adjust the data transmission volume, and improve user experience.
Smart Images

Figure CN114546656B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of computer display, and more specifically, relates to a configuration method and system for balanced transmission of graphic display data. Background Art
[0002] Invention patent CN112148630A "A method for adaptive management of video memory based on graphics processing unit (GPU) graphics display" discloses the following technology: by creating a video memory object management list, the video memory space is adaptively managed when the graphics display application is used and exited. This method is a video memory management method and does not involve a configuration method for balanced transmission of graphics display data.
[0003] Invention patent CN108877706A "Low-power display device with variable refresh rate" discloses the following technology: changing the refresh rate by hardware control at the liquid crystal display (LCD) of consumer electronic equipment. This method changes the refresh rate by hardware, which requires additional hardware circuit design, and does not involve a method of changing the number of times the video memory data is submitted by software when the refresh rate remains unchanged. Summary of the invention
[0004] In view of this, the present invention provides a configuration method and system for balanced transmission of graphic display data, aiming to solve the problem of abnormal image display due to insufficient image display resources when running multiple image display tasks at the same time. The purpose of the present invention is to adaptively set the optimal number of times data is submitted to the video memory per unit time when running multiple image display tasks at the same time, reasonably allocate display resources under the premise of ensuring image display quality, thereby obtaining the advantage of better user experience.
[0005] To achieve the above object, in a first aspect, the present invention provides a configuration method for balanced transmission of graphic display data, comprising the following steps:
[0006] S1, the graphics processor GPU calculates the data transmission volume per unit time of all current image display tasks in real time, and calculates the optimal data transmission volume per unit time of the GPU by real-time analyzing the data transmission rate of all current image display tasks and the maximum transmission rate of the system under the premise of meeting the quality of graphic display; the system is a graphic display system;
[0007] S2. According to the optimal data transmission amount per unit time of the GPU calculated in step S1, the number of times data is submitted to the GPU video memory per unit time is optimally set by software.
[0008] In an optional example, step S1 includes the following steps:
[0009] S11, obtaining a refresh rate range of the display, and determining the slowest number of times the system submits video memory data per unit time according to the refresh rate range;
[0010] S12, obtaining the amount of data transmitted per unit time for all current image display tasks, and calculating the data transmission rate of all current image display tasks;
[0011] S13, comparing the data transmission rate of all current image display tasks with the maximum transmission rate of the system in real time, and calculating the optimal data transmission amount per unit time of the GPU by using the dichotomy method.
[0012] In an optional example, step S13 includes the following sub-steps:
[0013] S131, when the refresh rate of the display is switched, the number of page_flip operations performed per unit time by the GPU driver changes accordingly, and the number of page flip operations performed per unit time at the current refresh rate is calculated, and the value is the default number of page flip operations per unit time at the current refresh rate;
[0014] S132, comparing the current data transmission rate of all image display tasks with the maximum transmission rate of the system. If the current data transmission rate of all image display tasks is greater than the maximum transmission rate of the system, the number of page turning operations per unit time is recorded as the preset number of page turning operations. Based on the preset number of page turning operations and the slowest number of times the system submits video memory data per unit time, the optimal number of page turning operations per unit time is calculated by binary search, and the number of page turning operations per unit time is reduced to satisfy the current data transmission rate of all image tasks is less than or equal to the maximum transmission rate of the system.
[0015] S133, comparing the current data transmission rate of all image display tasks with the maximum transmission rate of the system; if the current data transmission rate of all image display tasks is equal to the maximum transmission rate of the system, the preset number of page turning operations is the optimal number of page turning operations per unit time; if the current data transmission rate of all image display tasks is less than the maximum transmission rate of the system, the optimal number of page turning operations per unit time is calculated by binary search based on the preset number of page turning operations and the default number of page display transmissions, and the number of page turning operations per unit time is increased to satisfy the requirement that the current data transmission rate of all image tasks is less than or equal to the maximum transmission rate of the system;
[0016] S134. Calculate the optimal number of page turning operations per unit time of the GPU driver through the above steps, and calculate the optimal data transmission volume per unit time of the GPU based on the optimal number and the data submitted to the video memory each time by all current image display tasks, so that the optimal data transmission volume is just less than the maximum transmission volume of the system.
[0017] In an optional example, the step S132 calculates the optimal number of page turning operations per unit time by using a binary method, which specifically includes the following steps:
[0018] Record the number of page turning operations performed per unit time, compare the current number of page turning operations per unit time with the slowest number of times the system submits video memory data per unit time, if the current number of page turning operations is less than or equal to the slowest number, take the middle value between the current number of page turning operations and 0, and round down the middle value to obtain a first rounded middle value; if the current number of page turning operations is greater than the slowest number, when the number of page turning operations per unit time is the slowest number, compare the data transmission rate of all current image display tasks with the maximum transmission rate of the system, if the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, take the middle value between the current number of page turning operations and the slowest number, and round down the middle value to obtain a first rounded middle value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, take the middle value between the slowest number of times and 0, and round down the middle value to obtain a first rounded middle value; set the maximum value of the two values for obtaining the first value middle value as the first value, and set the minimum value as the second value;
[0019] When the number of page turns per unit time is the first rounded intermediate value, compare the data transmission rate of all current image display tasks with the maximum transmission rate of the system; if the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, take the intermediate value between the first value and the first rounded intermediate value, and round the intermediate value down to obtain a second rounded intermediate value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, take the intermediate value between the second value and the first rounded intermediate value, and round the intermediate value down to obtain a second rounded intermediate value;
[0020] Repeat the above steps until when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is less than or equal to the system maximum transmission rate, and when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is greater than the system maximum transmission rate, at this time, the n-1th rounded intermediate value is set as the optimal number of page turning operations per unit time; n is an integer greater than or equal to 2.
[0021] In an optional example, the step S133 uses a binary method to calculate the optimal number of page turning operations per unit time, which specifically includes the following steps:
[0022] The number of page turning operations performed per unit time is recorded as the preset page turning number. When the preset page turning number is the default display sending number per unit time, the data transmission rate of all current image display tasks and the maximum transmission rate of the system are compared. If the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, the default display sending number is the optimal number of page turning operations per unit time. If the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, the middle value between the preset page turning number and the default display sending number is taken, and the middle value is rounded down to obtain a first rounded middle value.
[0023] When the number of page turnings per unit time is the first rounded intermediate value, compare the data transmission rate of all current image display tasks with the maximum transmission rate of the system; if the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, take the intermediate value between the default number of page turnings and the first rounded intermediate value, and round down the intermediate value to obtain a second rounded intermediate value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, take the intermediate value between the preset number of page turnings and the first rounded intermediate value, and round down the intermediate value to obtain a second rounded intermediate value;
[0024] Repeat the above steps until when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is less than or equal to the system maximum transmission rate, and when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is greater than the system maximum transmission rate, at this time, the n-1th rounded intermediate value is set as the optimal number of page turning operations per unit time; n is an integer greater than or equal to 2.
[0025] In a second aspect, the present invention provides a configuration system for balanced transmission of graphic display data, comprising:
[0026] The optimal data transmission amount determination unit is used to calculate the data transmission amount per unit time of all current image display tasks in real time, and calculate the optimal data transmission amount per unit time of the graphics processor GPU by real-time analyzing the data transmission rate of all current image display tasks and the maximum transmission rate of the system under the premise of meeting the graphic display quality; the system is a graphic display system;
[0027] The GPU video memory data transmission configuration unit is used to optimally set the number of times data is submitted to the GPU video memory per unit time through software according to the optimal data transmission amount per unit time of the GPU.
[0028] In an optional example, the optimal data transmission amount determination unit obtains the display refresh rate range, and determines the slowest number of times the system submits video memory data per unit time through the refresh rate range; obtains the amount of data transmitted per unit time for all current image display tasks, and calculates the data transmission rate of all current image display tasks; and compares the data transmission rate of all current image display tasks with the maximum transmission rate of the system in real time, and calculates the optimal data transmission amount per unit time of the GPU through dichotomy.
[0029] In an optional example, the optimal data transmission amount determination unit compares the data transmission rate of all current image display tasks and the maximum transmission rate of the system in real time, and calculates the optimal data transmission amount of the GPU per unit time by binary search, specifically: when the display refresh rate is switched, the number of page_flip operations performed by the GPU driver per unit time changes accordingly, and the number of page turning operations per unit time at the current refresh rate is calculated, and this value is the default number of page turning transmissions per unit time at the current refresh rate; compare the data transmission rate of all current image display tasks and the maximum transmission rate of the system, if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, record the number of page turnings per unit time as the preset number of page turnings, and calculate the optimal number of page turning operations per unit time by binary search based on the preset number of page turnings and the slowest number of times the system submits video memory data per unit time, and reduce the number of page turning operations per unit time to meet the current number of page turnings. The image task data transmission rate is less than or equal to the system maximum transmission rate; compare the current data transmission rate of all image display tasks with the system maximum transmission rate; if the current data transmission rate of all image display tasks is equal to the system maximum transmission rate, the preset number of page turning times is the optimal number of page turning operations per unit time; if the current data transmission rate of all image display tasks is less than the system maximum transmission rate, the optimal number of page turning operations per unit time is calculated by dichotomy based on the preset number of page turning times and the default number of page sending times, and the number of page turning operations per unit time is increased to satisfy the current data transmission rate of all image tasks is less than or equal to the system maximum transmission rate; and calculate the optimal number of page turning operations per unit time driven by the GPU through the above steps, and calculate the optimal data transmission amount of the GPU per unit time based on the optimal number and the data submitted to the video memory by all current image display tasks each time, so that the optimal data transmission amount is just less than the system maximum transmission amount.
[0030] In an optional example, the optimal data transmission amount determination unit calculates the optimal number of page turning operations per unit time by binary search based on the preset number of page turning operations and the slowest number of times the system submits video memory data per unit time, specifically: recording the number of page turning operations per unit time, comparing the current number of page turning operations per unit time with the slowest number of times the system submits video memory data per unit time, if the current number of page turning operations is less than or equal to the slowest number, taking the middle value between the current number of page turning operations and 0, and rounding down the middle value to obtain a first rounded middle value; if the current number of page turning operations is less than or equal to the slowest number, taking the middle value between the current number of page turning operations and 0, and rounding down the middle value to obtain a first rounded middle value; If the number of page turns per unit time is greater than the slowest number, then when the number of page turns per unit time is the slowest number, compare the data transmission rate of all current image display tasks with the maximum transmission rate of the system. If the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, take the middle value between the current number of page turns and the slowest number, and round down the middle value to obtain the first rounded middle value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, take the middle value between the slowest number and 0, and round down the middle value to obtain the first rounded middle value; calculate the The maximum value of the two values of the first intermediate value is set as the first value, and the minimum value is set as the second value; when the number of page turns per unit time is the first rounded intermediate value, compare the data transmission rate of all current image display tasks and the maximum transmission rate of the system. If the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, take the intermediate value of the first value and the first rounded intermediate value, and round down the intermediate value to obtain the second rounded intermediate value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, take the intermediate value of the second value and the first rounded intermediate value, and round down the intermediate value to obtain the second rounded intermediate value; repeat the above steps until when the number of page turns per unit time is the n-1th rounded intermediate value, the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, and when the number of page turns per unit time is the nth rounded intermediate value, the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, at this time, set the n-1th rounded intermediate value as the optimal number of page turning operations per unit time; n is an integer greater than or equal to 2.
[0031] In an optional example, the optimal data transmission amount determination unit calculates the optimal number of page turning operations per unit time by dichotomy based on the preset page turning number and the default display sending number, specifically including the following steps:
[0032] The number of page turning operations performed per unit time is recorded as the preset number of page turning operations. When the preset number of page turning operations is the default number of page display operations per unit time, the data transmission rate of all current image display tasks and the maximum transmission rate of the system are compared. If the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, the default number of page display operations is the optimal number of page turning operations per unit time. If the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, the middle value between the preset number of page turning operations and the default number of page display operations is taken, and the middle value is rounded down to obtain a first rounded middle value. When the number of page turning operations per unit time is the first rounded middle value, the data transmission rate of all current image display tasks and the maximum transmission rate of the system are compared. If the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, the default number of page display operations is taken. The maximum transmission rate of the system is the middle value between the default number of display transmissions and the first rounded middle value, and the middle value is rounded down to obtain the second rounded middle value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, the middle value between the preset number of page turning times and the first rounded middle value is taken, and the middle value is rounded down to obtain the second rounded middle value; repeat the above steps until when the number of page turnings per unit time is the n-1th rounded middle value, the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, and when the number of page turnings per unit time is the nth rounded middle value, the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, at this time, the n-1th rounded middle value is set as the optimal number of page turning operations per unit time; n is an integer greater than or equal to 2.
[0033] In general, the above technical solution conceived by the present invention has the following beneficial effects compared with the prior art:
[0034] The present invention provides a configuration method and system for balanced transmission of graphic display data, which calculates the data transmission volume per unit time of all current image display tasks in real time, analyzes the data transmission rate of all current image display tasks and the maximum transmission rate of the system in real time on the premise of meeting the quality of graphic display, calculates the optimal data transmission volume per unit time of the GPU; and optimally sets the number of times data is submitted to the video memory per unit time through software implementation. The present invention can adaptively optimally set the number of times data is submitted to the video memory per unit time when multiple image display tasks are running at the same time, reasonably allocates display resources on the premise of ensuring the quality of image display, thereby obtaining the advantage of better user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 is a flow chart of a configuration method for balanced transmission of graphic display data provided by an embodiment of the present invention;
[0036] Figure 2is a sub-flow chart of step S1 provided in an embodiment of the present invention;
[0037] Figure 3 is a sub-flow chart of step S132 provided in an embodiment of the present invention;
[0038] Figure 4 is a sub-flow chart of step S133 provided in an embodiment of the present invention;
[0039] Figure 5 is a sub-flow chart of step S2 provided in an embodiment of the present invention;
[0040] Figure 6 It is a configuration system architecture diagram of balanced transmission of graphic display data provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0041] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0042] like Figure 1 As shown, the present invention provides a configuration method for balanced transmission of graphic display data, which includes the following steps:
[0043] S1. The GPU calculates the data transmission volume per unit time of all current image display tasks in real time. Under the premise of meeting the graphic display quality, the GPU calculates the optimal data transmission volume per unit time by analyzing the data transmission rate of all current image display tasks and the maximum transmission rate of the system in real time.
[0044] S2. Based on the optimal data transfer rate per unit time of the GPU calculated by S1, the number of times data is submitted to the video memory per unit time is optimally set by software.
[0045] like Figure 2 As shown, step S1 includes the following sub-steps:
[0046] S11. The GPU obtains the refresh rate range of the display. The fastest number of times the system submits video memory data per unit time, fast, and the slowest number of times the system submits video memory data per unit time can be obtained through the range. If the display has only one refresh rate, it means that at this time, the system has only one number of times the system submits video memory data per unit time, that is, the highest number is equal to the lowest number.
[0047] S12. The GPU obtains the amount of data transmitted per unit time for all current image display tasks, and calculates the data transmission rate display_rate of all current image display tasks.
[0048] S13, analyzing the data transmission rate of all current image display tasks and the system maximum transmission rate system_rate in real time, and calculating the optimal data transmission amount per unit time of the GPU by using the dichotomy method.
[0049] In an optional example, step S13 includes the following sub-steps:
[0050] S131, when the refresh rate of the display is switched, the number of page_flip operations performed per unit time by the GPU driver changes accordingly, and the number of page flip operations performed per unit time at the current refresh rate is calculated, and the value is the default number of page flip operations per unit time at the current refresh rate;
[0051] S132, comparing the current data transmission rate of all image display tasks with the maximum transmission rate of the system. If the current data transmission rate of all image display tasks is greater than the maximum transmission rate of the system, the number of page turning operations per unit time is recorded as the preset number of page turning operations. Based on the preset number of page turning operations and the slowest number of times the system submits video memory data per unit time, the optimal number of page turning operations per unit time is calculated by binary search, and the number of page turning operations per unit time is reduced to satisfy the current data transmission rate of all image tasks is less than or equal to the maximum transmission rate of the system.
[0052] Specifically, compare the current data transmission rate of all image display tasks display_rate and the system maximum transmission rate system_rate. If display_rate is greater than system_rate, record the number of page_flips per unit time as tmp. Calculate the optimal number of page_flips per unit time by binary search. The specific calculation method is as follows: Figure 3 As shown:
[0053] Record the number of page turning operations performed per unit time, compare the current number of page turning operations per unit time with the slowest number of times the system submits video memory data per unit time, if the current number of page turning operations is less than or equal to the slowest number, take the middle value between the current number of page turning operations and 0, and round down the middle value to obtain a first rounded middle value; if the current number of page turning operations is greater than the slowest number, when the number of page turning operations per unit time is the slowest number, compare the data transmission rate of all current image display tasks with the maximum transmission rate of the system, if the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, take the middle value between the current number of page turning operations and the slowest number, and round down the middle value to obtain a first rounded middle value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, take the middle value between the slowest number of times and 0, and round down the middle value to obtain a first rounded middle value; set the maximum value of the two values for obtaining the first value middle value as the first value, and set the minimum value as the second value;
[0054] When the number of page turns per unit time is the first rounded intermediate value, compare the data transmission rate of all current image display tasks with the maximum transmission rate of the system; if the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, take the intermediate value between the first value and the first rounded intermediate value, and round the intermediate value down to obtain a second rounded intermediate value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, take the intermediate value between the second value and the first rounded intermediate value, and round the intermediate value down to obtain a second rounded intermediate value;
[0055] Repeat the above steps until when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is less than or equal to the system maximum transmission rate, and when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is greater than the system maximum transmission rate, at this time, the n-1th rounded intermediate value is set as the optimal number of page turning operations per unit time; n is an integer greater than or equal to 2.
[0056] S133, comparing the current data transmission rate of all image display tasks with the maximum transmission rate of the system; if the current data transmission rate of all image display tasks is equal to the maximum transmission rate of the system, the preset number of page turning operations is the optimal number of page turning operations per unit time; if the current data transmission rate of all image display tasks is less than the maximum transmission rate of the system, the optimal number of page turning operations per unit time is calculated by binary search based on the preset number of page turning operations and the default number of page display transmissions, and the number of page turning operations per unit time is increased to satisfy the requirement that the current data transmission rate of all image tasks is less than or equal to the maximum transmission rate of the system;
[0057] Specifically, compare the current data transmission rate of all image display tasks display_rate and the system maximum transmission rate system_rate. If display_rate is equal to system_rate, the number of page_flip operations per unit time remains unchanged. If display_rate is less than system_rate, the optimal number of page_flip operations per unit time is calculated by binary search. The specific calculation method is as follows: Figure 4 As shown:
[0058] The number of page turning operations performed per unit time is recorded as the preset page turning number. When the preset page turning number is the default display sending number per unit time, the data transmission rate of all current image display tasks and the maximum transmission rate of the system are compared. If the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, the default display sending number is the optimal number of page turning operations per unit time. If the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, the middle value between the preset page turning number and the default display sending number is taken, and the middle value is rounded down to obtain a first rounded middle value.
[0059] When the number of page turnings per unit time is the first rounded intermediate value, compare the data transmission rate of all current image display tasks with the maximum transmission rate of the system; if the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, take the intermediate value between the default number of page turnings and the first rounded intermediate value, and round down the intermediate value to obtain a second rounded intermediate value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, take the intermediate value between the preset number of page turnings and the first rounded intermediate value, and round down the intermediate value to obtain a second rounded intermediate value;
[0060] Repeat the above steps until when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is less than or equal to the system maximum transmission rate, and when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is greater than the system maximum transmission rate, at this time, the n-1th rounded intermediate value is set as the optimal number of page turning operations per unit time; n is an integer greater than or equal to 2.
[0061] S134. Calculate the optimal number of page turning operations per unit time of the GPU driver through the above steps, and calculate the optimal data transmission volume per unit time of the GPU based on the optimal number and the data submitted to the video memory each time by all current image display tasks, so that the optimal data transmission volume is just less than the maximum transmission volume of the system.
[0062] like Figure 5 As shown, step S2 includes the following sub-steps:
[0063] S21. Set the number of page_flip operations per unit time according to the optimal data transfer amount per unit time of the GPU calculated in S1.
[0064] S22, the kernel layer starts to perform page_flip after receiving the page_flip submitted by the application layer. After completing the page_flip operation, the kernel layer sends an event to the application layer.
[0065] Figure 6 The configuration system for balanced transmission of graphic display data provided by the present invention is as follows: Figure 6 As shown, including:
[0066] The optimal data transmission amount determination unit 610 is used to calculate the data transmission amount per unit time of all current image display tasks in real time, and calculate the optimal data transmission amount per unit time of the graphics processor GPU by analyzing the data transmission rate of all current image display tasks and the maximum transmission rate of the system in real time under the premise of meeting the graphic display quality; the system is a graphic display system;
[0067] The GPU memory data transmission configuration unit 620 is used to optimally set the number of times data is submitted to the GPU memory per unit time through software according to the optimal data transmission amount per unit time of the GPU.
[0068] It can be understood that the detailed functional implementation of each of the above-mentioned units can be found in the introduction of the aforementioned method embodiment, and will not be elaborated here.
[0069] It will be easily understood by those skilled in the art that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A configuration method for balanced transmission of graphic display data, characterized in that: The steps include: S1, the graphics processor GPU calculates the data transmission volume per unit time of all current image display tasks in real time, and calculates the optimal data transmission volume per unit time of the GPU by real-time analyzing the data transmission rate of all current image display tasks and the maximum transmission rate of the system under the premise of meeting the graphic display quality; the system is a graphic display system; the step S1 includes the following steps: S11, obtaining a refresh rate range of the display, and determining the slowest number of times the system submits video memory data per unit time according to the refresh rate range; S12, obtaining the amount of data transmitted per unit time for all current image display tasks, and calculating the data transmission rate of all current image display tasks; S13, comparing the data transmission rate of all current image display tasks with the maximum transmission rate of the system in real time, and calculating the optimal data transmission amount per unit time of the GPU by using a dichotomy method; The step S13 includes the following sub-steps: S131, when the refresh rate of the display is switched, the number of page_flip operations performed per unit time by the GPU driver changes accordingly, and the number of page_flip operations performed per unit time at the current refresh rate is calculated, and the number of page_flip operations performed per unit time at the current refresh rate is the default number of page_flip operations per unit time at the current refresh rate; S132, comparing the current data transmission rate of all image display tasks with the maximum transmission rate of the system. If the current data transmission rate of all image display tasks is greater than the maximum transmission rate of the system, the number of page turning operations per unit time is recorded as the preset number of page turning operations. Based on the preset number of page turning operations and the slowest number of times the system submits video memory data per unit time, the optimal number of page turning operations per unit time is calculated by binary search, and the number of page turning operations per unit time is reduced to satisfy the current data transmission rate of all image tasks is less than or equal to the maximum transmission rate of the system. S133, comparing the data transmission rate of all current image display tasks with the maximum transmission rate of the system. If the data transmission rate of all current image display tasks is equal to the maximum transmission rate of the system, the preset number of page turning operations is the optimal number of page turning operations per unit time. If the data transmission rate of all current image display tasks is less than the maximum transmission rate of the system, the optimal number of page turning operations per unit time is calculated by dichotomy based on the preset number of page turning operations and the default number of page display operations, and the number of page turning operations per unit time is increased to satisfy the data transmission rate of all current image tasks being less than or equal to the maximum transmission rate of the system; S134, calculating the optimal number of page turning operations performed by the GPU driver per unit time through the above steps, and calculating the optimal data transmission volume per unit time of the GPU based on the optimal number and the data submitted to the video memory each time by all current image display tasks, so that the optimal data transmission volume is just less than the maximum transmission volume of the system; S2. According to the optimal data transmission amount per unit time of the GPU calculated in step S1, the number of times data is submitted to the GPU video memory per unit time is optimally set by software.
2. The configuration method according to claim 1, characterized in that: The step S132 calculates the optimal number of page turning operations per unit time by using a binary method, which specifically includes the following steps: Record the number of page turning operations performed per unit time, compare the current number of page turning operations per unit time with the slowest number of times the system submits video memory data per unit time, if the current number of page turning operations is less than or equal to the slowest number, take the middle value between the current number of page turning operations and 0, and round down the middle value to obtain a first rounded middle value; if the current number of page turning operations is greater than the slowest number, when the number of page turning operations per unit time is the slowest number, compare the current data transmission rate of all image display tasks with the maximum transmission rate of the system, if the current data transmission rate of all image display tasks is less than or equal to the maximum transmission rate of the system, take the middle value between the current number of page turning operations and the slowest number, and round down the middle value to obtain a first rounded middle value; if the current data transmission rate of all image display tasks is greater than the maximum transmission rate of the system, take the middle value between the slowest number of times and 0, and round down the middle value to obtain a first rounded middle value; The maximum value of the two values for the first rounded intermediate value is set as the first value, and the minimum value is set as the second value; When the number of page turns per unit time is the first rounded intermediate value, compare the data transmission rate of all current image display tasks with the maximum transmission rate of the system; if the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, take the intermediate value between the first value and the first rounded intermediate value, and round the intermediate value down to obtain a second rounded intermediate value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, take the intermediate value between the second value and the first rounded intermediate value, and round the intermediate value down to obtain a second rounded intermediate value; Repeat the above steps until when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is less than or equal to the system maximum transmission rate, and when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is greater than the system maximum transmission rate, at this time, the n-1th rounded intermediate value is set as the optimal number of page turning operations per unit time; n is an integer greater than or equal to 2.
3. A configuration system for balanced transmission of graphic display data, characterized in that: include: The optimal data transmission amount determination unit is used to calculate the data transmission amount per unit time of all current image display tasks in real time, and calculate the optimal data transmission amount per unit time of the graphics processor GPU by real-time analyzing the data transmission rate of all current image display tasks and the maximum transmission rate of the system under the premise of meeting the graphic display quality; the system is a graphic display system; the optimal data transmission amount determination unit obtains the refresh rate range of the display, and determines the slowest number of times the system submits video memory data per unit time through the refresh rate range; Obtain the amount of data transmitted per unit time for all current image display tasks, and calculate the data transmission rate of all current image display tasks; Compare the data transfer rate of all current image display tasks with the system's maximum transfer rate in real time, and calculate the GPU's optimal data transfer rate per unit time through the dichotomy method; When the display refresh rate is switched, the number of page_flip operations performed per unit time by the GPU driver changes accordingly, and the number of page flip operations performed per unit time at the current refresh rate is calculated, and the number of page flip operations performed per unit time at the current refresh rate is the default number of page flip operations per unit time at the current refresh rate; Compare the current data transmission rate of all image display tasks with the maximum transmission rate of the system. If the current data transmission rate of all image display tasks is greater than the maximum transmission rate of the system, record the number of page turns per unit time as the preset number of page turns. Based on the preset number of page turns and the slowest number of times the system submits video memory data per unit time, calculate the optimal number of page turns per unit time by binary search, and reduce the number of page turns per unit time to satisfy that the current data transmission rate of all image tasks is less than or equal to the maximum transmission rate of the system. Compare the current data transmission rate of all image display tasks with the maximum transmission rate of the system. If the current data transmission rate of all image display tasks is equal to the maximum transmission rate of the system, then the preset number of page turns is the optimal number of page turns per unit time. If the data transmission rate of all current image display tasks is less than the maximum transmission rate of the system, the optimal number of page turning operations per unit time is calculated by dichotomy based on the preset number of page turning operations and the default number of page display operations, and the number of page turning operations per unit time is increased to satisfy the data transmission rate of all current image tasks being less than or equal to the maximum transmission rate of the system; The optimal number of page turning operations performed by the GPU driver per unit time is calculated through the above steps, and the optimal data transmission volume per unit time of the GPU is calculated based on the optimal number and the data submitted to the video memory each time by all current image display tasks, so that the optimal data transmission volume is just less than the maximum transmission volume of the system; The GPU video memory data transmission configuration unit is used to optimally set the number of times data is submitted to the GPU video memory per unit time through software according to the optimal data transmission amount per unit time of the GPU.
4. The configuration system according to claim 3, characterized in that: The optimal data transmission amount determination unit calculates the optimal number of page turning operations per unit time by binary search based on the preset number of page turning operations and the slowest number of times the system submits video memory data per unit time, specifically: recording the number of page turning operations per unit time, comparing the current number of page turning operations per unit time with the slowest number of times the system submits video memory data per unit time, if the current number of page turning operations is less than or equal to the slowest number, taking the middle value between the current number of page turning operations and 0, and rounding down the middle value to obtain a first rounded middle value; if the current number of page turning operations is greater than the slowest number, when the number of page turning operations per unit time is the slowest number, comparing the current data transmission rate of all image display tasks with the maximum transmission rate of the system, if the current data transmission rate of all image display tasks is less than or equal to the maximum transmission rate of the system, taking the middle value between the current number of page turning operations and the slowest number, and rounding down the middle value to obtain a first rounded middle value; if the current data transmission rate of all image display tasks is greater than the maximum transmission rate of the system, taking the middle value between the slowest number of times and 0, and rounding down the middle value to obtain a first rounded middle value; The maximum of the two values obtained by calculating the first rounded intermediate value is set as the first value, and the minimum is set as the second value; when the number of page turns per unit time is the first rounded intermediate value, compare the data transmission rate of all current image display tasks with the maximum transmission rate of the system, if the data transmission rate of all current image display tasks is less than or equal to the maximum transmission rate of the system, then take the intermediate value of the first value and the first rounded intermediate value, and round the intermediate value down to obtain the second rounded intermediate value; if the data transmission rate of all current image display tasks is greater than the maximum transmission rate of the system, then take the intermediate value of the second value and the first rounded intermediate value, and round the intermediate value down to obtain the second rounded intermediate value; Repeat the above steps until when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is less than or equal to the system maximum transmission rate, and when the number of page turns per unit time is the n-1th rounded intermediate value, the current data transmission rate of all image display tasks is greater than the system maximum transmission rate, at this time, the n-1th rounded intermediate value is set as the optimal number of page turning operations per unit time; n is an integer greater than or equal to 2.
Citation Information
Patent Citations
Low power display device with variable refresh rate
CN108877706A
Video memory self-adaptive management method based on GPU graphic display
CN112148630A
Power saving in mobile devices by optimizing frame rate output
CN102063695A