#Mobile

WebView Performance Still Lagging Behind PWA Chrome Implementation

AI & ML Reporter
4 min read

Android WebView continues to underperform compared to Chrome PWA, with developers reporting severe jank and frame drops even on high-end devices.

WebView Performance Still Lagging Behind PWA Chrome Implementation

A long-standing performance issue between Android WebView and Chrome PWA implementations has resurfaced, with developers reporting severe jank, frame drops, and animation stuttering that makes hybrid apps nearly unusable on Android devices.

The Core Problem

Developers across multiple frameworks including Ionic, Capacitor, and native WebView wrappers are experiencing dramatic performance differences when running the same web content in WebView versus Chrome PWA. The issue manifests in several ways:

  • Vertical scrolling jank: Smooth scrolling in Chrome becomes jerky and sometimes even reverses direction in WebView
  • Animation stuttering: CSS transforms, transitions, and page animations run at significantly lower frame rates
  • Touch input lag: Touch points visibly lag behind user interactions in WebView
  • Overall sluggishness: Even basic interactions like opening menus or typing experience noticeable delays

Real-World Impact

Multiple developers have shared concrete examples of how this affects their applications:

  • TopDecked (Magic: The Gathering app): Card scrolling and menu interactions show clear performance gaps between WebView and PWA versions
  • Portazon: Navigation transitions exhibit major performance issues in WebView but run smoothly in Chrome
  • From Seed to Spoon: A gardening app with 500k+ Android users experiencing ANR (App Not Responding) popups when accessibility features are enabled
  • Key Collector Comics: App becomes "unusable" when accessibility services like Avast Mobile Security are active

Technical Investigation

Google engineers have acknowledged the issue and provided insights into why WebView performs differently:

"In general you should not expect WebView to perform equivalently to Chrome. That doesn't mean there isn't an issue in this case, but Chrome and WebView use different rendering paths and have other important configuration differences that can result in slower performance in WebView."

Key Architectural Differences

  1. Rendering Model: WebView renders as part of Android's view hierarchy, while Chrome renders to a separate texture that's composited into the view hierarchy
  2. Process Architecture: WebView uses a single renderer process per app (to reduce RAM overhead), while Chrome can use multiple processes
  3. GPU Integration: Both use GPU rendering, but WebView's integration with Android's native UI creates timing constraints

Developer Frustration Mounts

The issue has persisted for years with minimal progress. Recent comments show growing frustration:

  • "This issue basically makes my Ionic / Capacitor app unusable"
  • "The difference in smoothness and lags between our app in chrome and app wrapped in WebView is massive"
  • "Slow performance of webview needs to be addressed"
  • "These performance issues should be handled with higher priority"

Workarounds and Partial Solutions

Some developers have found temporary relief through various methods:

  1. Disabling accessibility services: Apps like LastPass, Avast, and Darker screen filter were identified as causing severe performance degradation
  2. Turning off "Smooth scrolling": This dramatically improves scrolling performance but doesn't match Chrome's smoothness
  3. Battery saver mode: Some users report WebView runs smoother when battery saver is enabled

However, these are band-aid solutions that don't address the fundamental performance gap.

Facebook's Approach

Facebook has taken matters into their own hands by replacing Android System WebView entirely:

"We're launching a new Chromium-based WebView for Android" - Facebook Engineering Blog, 2022

This highlights how severe the issue is that even major corporations are forced to bundle their own WebView implementation.

Current Status and Next Steps

As of March 2025, the issue remains unresolved:

  • Testing challenges: Google's internal testing couldn't reproduce the issue on Pixel 5 and Pixel 9 Pro XL
  • Device specificity: The issue appears more pronounced on high-end devices with 90Hz+ refresh rates
  • Performance traces: Developers have provided detailed performance traces showing CPU frequency drops and touch processing delays during janky interactions

The Bigger Picture

The WebView vs Chrome performance gap raises fundamental questions about Android's hybrid app ecosystem:

  • Is WebView still viable for performance-critical applications?
  • Should Google provide a "performance mode" that sacrifices some compatibility features for better rendering performance?
  • How can developers deliver consistent experiences across WebView and Chrome PWA?

What Developers Can Do Now

  1. Provide detailed traces: Use Perfetto system tracing to capture performance data during janky interactions
  2. Test on high-refresh-rate devices: The issue is more noticeable on 90Hz+ screens
  3. Monitor accessibility conflicts: Identify if third-party accessibility services are causing performance issues
  4. Consider alternative approaches: Evaluate whether PWA or native development might be more appropriate for performance-critical apps

Conclusion

The WebView performance gap remains a significant barrier for hybrid app development on Android. While Google has acknowledged the architectural reasons for the differences, developers are left waiting for concrete solutions that will bring WebView performance closer to Chrome PWA levels.

The persistence of this issue, combined with Facebook's decision to bundle their own WebView implementation, suggests this is not just a minor optimization problem but a fundamental challenge in Android's hybrid app architecture that requires serious attention from the Chromium team.

Related Issues:

Comments

Loading comments...