Multitasking Animation Thread Scheduling to Reduce Frame Stutter
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Frame loss or stuttering occurs during the animation effect function of swiping up to enter multitasking in terminal devices due to excessive load on threads when calculating parameters for animation frames.
Innovation Solution
The method involves invoking a preset thread of Surfaceflinger first and then a drawing thread when screen projection or recording is disabled, and vice versa when enabled, to manage animation frames effectively, thereby reducing frame loss and stuttering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If a drawing thread is invoked to render animation frames during the swipe-up multitasking transition, then the animation visual quality is improved, but frame loss and stuttering occur due to excessive thread load
Solution Approach 1:
The patent extracts the animation frame rendering task from the main drawing thread and assigns it to a dedicated preset thread (Surfaceflinger). This separation removes the rendering load from the main thread, preventing overload and frame loss while maintaining high-quality animation rendering through specialized thread handling
Solution Approach 2:
The preset thread is invoked before the drawing thread in the animation sequence. This preliminary action allows the preset thread to prepare and pre-process animation frame data in advance, reducing the computational burden on the subsequent drawing thread and ensuring smoother frame delivery without stuttering
2Adaptability or versatility
If screen projection or recording function is enabled during animation, then screen sharing capability is improved, but animation performance deteriorates due to increased system load
Solution Approach 1:
The patent implements dynamic thread invocation based on the screen projection state. When screen projection is enabled, the system dynamically adjusts which threads are invoked and their invocation timing. This dynamic adaptation allows the system to maintain animation functionality while accommodating the additional load from screen recording, preventing performance deterioration
Solution Approach 2:
The system changes operational parameters (thread invocation sequence and timing) based on the screen projection state. By detecting whether screen projection is enabled, the system adjusts the animation rendering parameters dynamically, optimizing performance for each scenario and maintaining smooth animations even when screen sharing is active
Data Source
Figure 1a~1d
Figure 2
Figure 3
AI summary
This application provides a display method and a related apparatus. The method is applied to a terminal device. The method includes: displaying an interface of a first application when a screen projection or screen recording function is not enabled; receiving an operation of pressing and swiping up that is performed by a user, and displaying, in response to a lifting operation performed by the user, a first animation after the first time point and before the second time point, where a preset thread of Surfaceflinger is invoked first and a drawing thread is then invoked after the first time point; after the second time point, enabling the screen recording or screen projection function, and displaying the interface of the first application; receiving the operation of pressing and swiping up that is performed by the user, and displaying, in response to the lifting operation performed by the user, the first animation after a third time point and before a fourth time point; and not invoking the preset thread after the third time point and before the drawing thread is invoked. The method helps reduce a frame loss or stuttering of the first animation.