Frame Rate Adjustment via Time Margin Calculation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Electronic devices face challenges in accurately scheduling the output timing of image frames due to limitations in obtaining information about currently rendered frames, making it difficult to maintain a stable and uniform frame interval according to a target frame rate during image content rendering.
Innovation Solution
An electronic device with a processor configured to generate a main thread for user input and data processing, a render thread for image rendering, and a target frame rate is used to calculate an expected processing time based on previous frames, determining a time margin, and performing user input and data processing after waiting in a sleep state for this margin, ensuring stable and uniform frame intervals.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the application adjusts the output timing of image frames based on target frame rate, then the frame pacing is improved, but the accuracy of timing is worsened due to inability to obtain information about currently rendered frames
Solution Approach 1:
The patent applies preliminary action by having the render thread signal the main thread in advance when a frame has been rendered. This allows the main thread to know the exact timing information of currently rendered frames before output, enabling precise scheduling of frame output timing while maintaining stable frame pacing. The signal mechanism provides ahead-of-time information that resolves the timing accuracy problem.
2Productivity
If the main thread processes user input and data continuously, then the productivity is improved, but the frame interval stability is worsened due to variable processing times
Solution Approach 1:
The patent applies periodic action by making the main thread wait for a predetermined period (time margin) before processing user input and data. This periodic waiting ensures that frame processing occurs at regular intervals according to the target frame rate, while the time margin provides buffer time for the render thread to complete rendering. This resolves the contradiction by enforcing regular frame intervals while maintaining processing throughput.
Solution Approach 2:
The main thread performs preliminary waiting for the time margin before processing data, ensuring that the render thread has sufficient time to complete frame rendering. This preliminary action prevents data processing from interfering with the rendering timeline, thereby maintaining frame interval stability while allowing continuous productivity during the waiting period.
3Stability of the object's composition
If the main thread waits for the time margin before processing, then the frame interval stability is improved, but the loss of time is worsened due to waiting period
Solution Approach 1:
The waiting period is applied periodically and only for the specific duration of the time margin, which is calculated based on the difference between the frame interval and the expected rendering time. This ensures that the main thread waits only when necessary to maintain frame stability, minimizing time loss while achieving the required frame interval uniformity.
Solution Approach 2:
The patent applies partial waiting by having the main thread wait only for the necessary time margin period rather than continuously. This partial action is sufficient to ensure frame stability without excessive waiting, thereby minimizing time loss while achieving the required stability.
Data Source
AI summary
An electronic device is provided. The electronic devices includes a display, a memory, and a processor configured to be operatively connected to the display and the memory. The processor is configured to generate a main thread related to a user input and data processing on an application in response to execution of the application and a render thread related to rendering image data in units of frames based on data processed in the main thread, configure a target frame rate for displaying an execution screen of the application on the display, calculate an expected processing time of a current frame based on a processing time of at least one previous frame output through the display, determine a time margin based on the target frame rate and the calculated expected processing time, and perform the user input and data processing after the main thread waits in a sleep state for the time margin.


