Skip to content

Perf/skip flush UI command for no dom modules#916

Merged
andycall merged 3 commits intorelease/0.22.24from
perf/skip-flush-ui-command-for-no-dom-modules
Apr 30, 2026
Merged

Perf/skip flush UI command for no dom modules#916
andycall merged 3 commits intorelease/0.22.24from
perf/skip-flush-ui-command-for-no-dom-modules

Conversation

@daltoncaoyuan
Copy link
Copy Markdown
Collaborator

背景

性能分析发现 fetch 每次调用都会触发 FlushUICommand(一次 PostToDartSync 跨线程同步),

改动

在 ModuleManager::webf_invoke_module 中,对不依赖 DOM 状态的模块跳过 FlushUICommand:

  • Fetch、AsyncStorage、LocalStorage、SessionStorage、Clipboard、TextCodec、Navigator

测试

新增 bridge 单元测试 module_manager_no_flush_test.cc,验证:

  1. 白名单模块调用正确性不受影响
  2. 白名单模块不触发 FlushUICommand
  3. 非白名单模块仍然触发 FlushUICommand

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 28, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
use-case Error Error Apr 28, 2026 3:21am
vue_usecase Error Error Apr 28, 2026 3:21am

Request Review

@andycall andycall merged commit 7a6974c into release/0.22.24 Apr 30, 2026
5 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants