Android Performance

Android Perfetto Series 6: Why 120Hz? Advantages and Challenges

Word count: 850Reading time: 5 min
2025/04/26
loading

This is the sixth article in the Android Perfetto series. It focuses on the 120Hz refresh rate, which has now become a standard for Android flagship devices. We will discuss the advantages and challenges of high refresh rates and analyze how 120Hz works from a system perspective.

Over the past few years, mobile display technology has evolved from 60Hz to 90Hz and now commonly to 120Hz. This evolution brings not only a smoother visual experience but also new requirements for system architecture and app development. Using Perfetto, we can gain a clearer understanding of frame rendering and performance on high-refresh-rate devices.

Table of Contents

Perfetto Series Catalog

  1. Android Perfetto Series Catalog
  2. Android Perfetto Series 1: Introduction to Perfetto
  3. Android Perfetto Series 2: Capturing Perfetto Traces
  4. Android Perfetto Series 3: Familiarizing with the Perfetto View
  5. Android Perfetto Series 4: Opening Large Traces via Command Line
  6. Android Perfetto Series 5: Choreographer-based Rendering Flow
  7. Android Perfetto Series 6: Why 120Hz? Advantages and Challenges
  8. Android Perfetto Series 7: MainThread and RenderThread Deep Dive
  9. Android Perfetto Series 8: Understanding Vsync and Performance Analysis
  10. Android Perfetto Series 9: Interpreting CPU Information

Basic Concepts

What is Screen Refresh Rate?

Refresh rate is a hardware concept. It refers to how many times per second the screen can refresh its displayed content, measured in Hertz (Hz).

  • 60Hz: Refreshes 60 times per second (~16.67ms interval).
  • 90Hz: Refreshes 90 times per second (~11.11ms interval).
  • 120Hz: Refreshes 120 times per second (~8.33ms interval).

The refresh rate determines the hardware’s capacity for smoothness, but the actual content displayed is decided by software.

What is FPS?

FPS (Frames Per Second) is a software concept. It refers to how many unique frames the system generates per second for the screen to display.

  • 60FPS: System generates 60 frames/sec (16.67ms budget per frame).
  • 120FPS: System generates 120 frames/sec (8.33ms budget per frame).

Ideally, FPS should match the refresh rate. If FPS is lower ($ \text{FPS} < \text{Refresh Rate} $), jank occurs. If FPS is higher ($ \text{FPS} > \text{Refresh Rate} $), frames are discarded, wasting resources.

What is Vsync?

Vsync (Vertical Sync) is the mechanism that aligns software frame generation with the hardware refresh cycle to prevent screen tearing. In Android, the Vsync signal triggers the start of the rendering process.

Why 120Hz?

  1. Ultimate Fluidity: Twice the visual information of 60Hz makes scrolling and animations look natural.
  2. Reduced Latency: Touch-to-display latency drops from 16.67ms to 8.33ms.
  3. Mature Ecosystem: Modern chips (Snapdragon 8 Series, Dimensity 9000s) can sustain 120Hz effortlessly.
  4. Adaptive Refresh Rate (LTPO): Allows the screen to drop to 1Hz for static content, mitigating battery drain.

System Implementation and Principles

120Hz Rendering Flow in Perfetto

In a 120Hz environment, the primary change is the budget: The rendering budget shrinks from 16.67ms to 8.33ms.

120Hz App Rendering Flow

Understanding Buffer Trace Tags

In the Perfetto trace above, you will see two key buffer-related tracks:

  1. QueuedBuffer (App Process):
    • Indicates that the App has finished rendering and placed the buffer in the queue for SurfaceFlinger.
    • When using BLASTBufferQueue, this signifies the RenderThread has handed off the workload.
  2. BufferTX (SurfaceFlinger Process):
    • “TX” stands for Transmission. This tracks when SurfaceFlinger receives the buffer.
    • The sequence is: RenderThread calls queueBuffer ($\text{QueuedBuffer} + 1$) $\rightarrow$ SurfaceFlinger acquires the buffer ($\text{BufferTX} + 1$) $\rightarrow$ Screen Display $\rightarrow$ Buffer Released ($\text{BufferTX} - 1$ and then $\text{QueuedBuffer} - 1$).

Advantages and Challenges of 120Hz

Experience Improvements

  • Smoothness: Scrolling through feeds (WeChat, Twitter) feels clear rather than blurry.
  • Gaming: Competitive titles feel significantly more responsive; 8.3ms faster reaction time can be a literal game-changer.
  • Eye Comfort: Tracking moving content at 120Hz reduces eye strain compared to 60Hz.

Real-world Challenges

  • Power Consumption: 120Hz typically consumes 15-20% more battery.
  • Performance Pressure: Apps that barely hit 60fps will struggle to maintain 120fps, requiring aggressive optimization.
  • Heat: Sustained high-refresh gaming leads to thermal throttling faster than 60Hz gaming.

Thoughts and Future Outlook

Intelligent Management: The Apple ProMotion Lesson

Apple’s ProMotion technology (iPhone 13 Pro+) manages refresh rates based on the “impact” of the animation. It doesn’t just run 120Hz everywhere; it runs it only where the user perceives it.

Category Recommended Frequency Examples
High Impact 80-120Hz (Prefers 120Hz) Full-screen transitions, first-person games
Medium Impact System Default Opacity fades, micro-movements
Low Impact 8-30Hz Clock hands, slow progress bars, static text

This granular strategy balances silky-smooth visuals with battery efficiency. Android developers can achieve similar results using the Surface.setFrameRate() API.


Conclusion

120Hz is a transformative leap for mobile UI. While it adds 8.3ms pressure and power complexity, the benefits in responsiveness and fluidity are undeniable. For developers, tools like Perfetto are essential to identify which parts of the 8.3ms budget are being wasted. The future isn’t just about “higher numbers” but about “smarter numbers”—using high refresh rates exactly when and where they count.


“If you want to go fast, go alone. If you want to go far, go together.”

WeChat QR Code

CATALOG
  1. 1. Table of Contents
  • Perfetto Series Catalog
  • Basic Concepts
    1. 1. What is Screen Refresh Rate?
    2. 2. What is FPS?
    3. 3. What is Vsync?
    4. 4. Why 120Hz?
  • System Implementation and Principles
    1. 1. 120Hz Rendering Flow in Perfetto
      1. 1.1. Understanding Buffer Trace Tags
  • Advantages and Challenges of 120Hz
    1. 1. Experience Improvements
    2. 2. Real-world Challenges
  • Thoughts and Future Outlook
    1. 1. Intelligent Management: The Apple ProMotion Lesson
  • Conclusion