Mobile Development 8 min read

Analyzing Frame Drops on High-Refresh-Rate Android Devices: A Case Study with WeChat

This article investigates why a test Android phone exhibits noticeable frame drops when scrolling WeChat compared to a reference Honor X20, examining Vsync timing, CPU frequency scaling, and rendering pipelines, and proposes a CPU‑boost fix that restores smooth 120 fps performance.

Coolpad Technology Team
Coolpad Technology Team
Coolpad Technology Team
Analyzing Frame Drops on High-Refresh-Rate Android Devices: A Case Study with WeChat

Story background – Recent testing reported operation‑related frame‑drop issues; the test device was compared against a similarly‑speced Honor X20.

Using WeChat as an example, the provided perfdog report shows that the test phone’s scrolling performance appears inferior to the reference device.

Both phones run the same WeChat version, have cleared background tasks, and completed dex2oat with identical settings.

Subjective observation – On the test phone, releasing a swipe sometimes produces a noticeable stutter, whereas the Honor device’s fling phase is generally smoother, confirming a performance gap.

To understand the root cause, the author performed a systematic analysis.

Fundamental concepts – Both devices support 120 Hz refresh (8.3 ms per frame) and aim for 120 fps during fling. 120 Hz refers to the hardware screen refresh rate, while 120 fps is the software‑generated frame rate. Proper Vsync synchronization is required; mismatched rates waste power and can cause visual artifacts.

When the finger is lifted during a WeChat list scroll, Vsync is set to an 8.3 ms period, waking the Choreographer to start rendering. After the app finishes drawing, the buffer is handed to SurfaceFlinger, which also waits for Vsync before compositing and sending the frame to the display. Any step exceeding 8.3 ms can cause a missed frame.

Global view of frame drops

The fling‑phase rendering trace shows many yellow frames on the test phone, while the reference device shows only a few.

Yellow frames indicate a frame took longer than one Vsync period but less than two; they suggest potential performance problems, though they may not always result in visible drops due to triple‑buffering. Green frames complete within one Vsync period.

SurfaceFlinger timing is similar on both phones (8.3 ms Vsync), but the test phone often accumulates processing delays, leading to less smooth visuals.

Further inspection reveals that the test phone’s CPU frequency frequently drops during the fling phase. In highlighted frames, the main thread consumes 12 ms while the CPU runs at only 650 MHz on a big core, whereas the reference device quickly ramps up frequency and maintains a high‑frequency state for several seconds after touch release.

Root cause – The test device fails to keep the CPU at a sufficient frequency during the high‑refresh‑rate fling, causing longer processing times and yellow frames.

Proposed fix – After a touch event, enforce a minimum CPU frequency and apply a 2‑second boost.

Retesting the WeChat scroll shows the previous processing backlog disappears.

Fling‑phase yellow frames are dramatically reduced, matching the reference device’s performance.

Conclusion – Achieving 120 fps on a 120 Hz screen requires the entire rendering pipeline (App, SurfaceFlinger, related services) to finish within 8.3 ms. Insufficient CPU performance during fling is a common cause of frame drops in high‑refresh‑rate scenarios, alongside memory pressure, GC, thermal throttling, I/O, and GPU limits.

In this case, the lack of adequate CPU boost caused the observed stutter.

References

[1] https://zh.m.wikipedia.org/wiki/%E5%B8%A7%E7%8E%87

[2] www.reddit.com/r/pcgaming/comments/35d01h/what_causes_screen_tearing

Mobile OptimizationAndroid performancehigh refresh rateWeChatVSyncframe dropCPU frequency
Coolpad Technology Team
Written by

Coolpad Technology Team

Committed to advancing technology and supporting innovators. The Coolpad Technology Team regularly shares forward‑looking insights, product updates, and tech news. Tech experts are welcome to join; everyone is invited to follow us.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.