Ultra-Fast, Minimal, and Hardware-Optimized Windows 11 Native Browser Shell
Powered by Microsoft Edge WebView2 Evergreen Runtime & Modern C++20.
可在 GitHub Releases 页面直接下载最新构建的预编译二进制文件:
- 🚀 下载最新版独立可执行程序 (UltraLightBrowser.exe v1.2.1)(推荐:单文件,双击即用,无需安装)
- 📦 下载最新完整便携压缩包 (UltraLightBrowser-v1.2.1-windows-x64.zip)
- 🌟 访问 GitHub Latest Release 最新发布页
- 🔗 查看所有历史版本与构建产物
UltraLightBrowser is an engineered, bloatware-free Windows 11 desktop browser designed for extreme responsiveness, minimal memory footprint, and full hardware acceleration.
Unlike typical Electron or monolithic Chromium browsers that consume hundreds of megabytes at rest, UltraLightBrowser builds directly upon Windows 11 native Win32 APIs, Per-Monitor V2 High-DPI scaling, and the system-installed Microsoft Edge WebView2 Evergreen Runtime.
| Metric | Target / Measured | Technical Driver |
|---|---|---|
| Binary Footprint | ~300 KB (Single standalone .exe) |
Zero-bloat Win32, MSVC /O2 /GL /LTCG /OPT:REF /OPT:ICF |
| Cold Startup Time | <= 0.3s |
Native Win32 window loop, async WebView2 environment spin-up |
| Idle / Minimized RAM | ~20 MB (Host process working set) |
EmptyWorkingSet & ICoreWebView2_3::TrySuspend on minimize (Note: Chromium renderers scale per webpage) |
| Display Scaling | Crisp 4K/8K HiDPI | DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 |
| Visual Style | Native Windows 11 | Immersive Dark Mode (DWMWA_USE_IMMERSIVE_DARK_MODE) & Rounded Corners |
UltraLightBrowser/
├── CMakeLists.txt # MSVC 2022 & C++20 maximum optimization build definition
├── vcpkg.json # Modern C++ package manager dependencies (WIL, nlohmann-json)
├── packages.config # NuGet alternative dependency manifest
├── LICENSE # MIT License
├── README.md # Complete architectural and usage guide
├── resources/
│ ├── app.manifest # Per-Monitor V2 DPI, UTF-8 code page & Windows 11 OS compatibility
│ └── resource.rc # Win32 resource definitions
└── src/
├── main.cpp # Win32 wWinMain, High-DPI initialization, and message pump
├── MainWindow.hpp/.cpp # Native Win32 dark frame, Segoe UI toolbar & accelerator dispatch
├── WebViewManager.hpp/.cpp # WebView2 Evergreen composition, GPU flags, memory target & audio state
├── NativeRequestFilter.hpp/.cpp # Native C++ request interceptor returning HTTP 204 No Content
├── DnsManager.hpp/.cpp # Public DNS (IPv4/IPv6/DoH) management, registry & preferences sync
├── ElementBlocker.hpp/.cpp # Zero-flicker pre-render CSS injection & interactive DOM picker
├── PowerManager.hpp/.cpp # Windows 11 EcoQoS E-Core pinning, audio anti-glitch & memory trimming
├── Config.hpp/.cpp # Thread-safe JSON persistence for blocklist & settings
└── StringUtils.hpp # Fast URL encode and string parsing utilities
- 音频与 IPC 扁平化:注入
--disable-features=AudioServiceOutOfProcess将 AudioService 折叠回主进程,消除跨进程共享内存(Shared Memory Ring Buffer)的 IPC 拷贝与消息同步开销,立减一个子进程(节省1530MB 物理常驻内存),并从根源消灭跨进程锁竞争导致的播放卡顿。 - 激进内存压缩目标:对
ICoreWebView2_19显式设置put_MemoryUsageTargetLevel(COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_LOW),通知底层 Blink 与 V8 引擎采用极低预算策略,提升 Major GC 频次、缩小内存保留上限并积极清理字体和位图解码缓存。 - 状态感知生命周期挂起(Audio-aware Lifecycle):
- 深度接入
ICoreWebView2_8::add_IsDocumentPlayingAudioChanged监听底层文档音频流状态。 - 非音频后台页面:窗口最小化或闲置 5 分钟自动深度挂起(
TrySuspend())并调用TrimWorkingSet()释放物理内存至极限(低至 ~20MB);重新激活时毫秒级唤醒(Resume())。 - 后台纯音频播放页面:坚决不调用
TrySuspend()(防止音频流水线与 V8 定时器被冻结)。仅调用put_IsVisible(FALSE)卸载 DirectComposition 交换链与 GPU 帧光栅化,将 GPU 算力占用完全归零(0 FPS Culling 阻断 GPU 功耗),同时保持音频正常推流。
- 深度接入
- Windows 11 EcoQoS 能效核调度与音频防破音防护:
- 遍历底层 BrowserProcessId 子进程树,对处于后台且非活跃的渲染子进程调用
SetProcessInformation(ProcessPowerThrottling),注入PROCESS_POWER_THROTTLING_EXECUTION_SPEED,强制将其绑定在 Intel/AMD 的能效核(E-Core)上运行,抑制功耗与发热。 - 音频播放期间保持音频渲染线程在标准优先级,严禁打上 EcoQoS,防止能效核降频导致 DPC 调度延迟引发爆音(Buffer Underrun);前台激活时一律取消 EcoQoS 恢复 P-Core 全速调度。
- 遍历底层 BrowserProcessId 子进程树,对处于后台且非活跃的渲染子进程调用
Through WebViewManager, the browser injects deep Chromium performance arguments on environment creation:
- GPU Rasterization & Zero-Copy:
--enable-gpu-rasterization --enable-zero-copy --enable-accelerated-video-decode启用完整硬件解码与零拷贝渲染,保证高清/4K 视频播放丝滑流畅、不掉帧、低功耗。 - 120Hz 高清流畅刷新率与原生 VSync 同步:通过
--fake-vsync-rate=120 --max-gum-fps=120锁定 120Hz 垂直同步节拍,完美整除 24/30/60 FPS 视频帧率,消除丢帧与微卡顿,网页快速滚动与超清视频播放丝滑流畅。 - GPU 纯硬件路径(锁定纯硬解管线,禁用软件降级与过载 CSS 特效):通过
--disable-software-rasterizer --disable-gpu-watchdog --enable-hardware-overlays="single-fullscreen,single-on-top,underlay" --enable-native-gpu-memory-buffers强制锁定 GPU 纯硬解渲染管线,严禁 CPU 软解回退与降级;针对恶性过载 CSS 特效(如超大半径层叠模糊backdrop-filter)注入硬件图层隔离保护(transform: translateZ(0)),彻底杜绝掉帧、卡顿与机身过载发热。 - 激进标签与页面休眠(内存常驻缩减 60%+):集成
--enable-features=HighEfficiencyModeAvailable,PageDiscarding,Freezer,BatterySaverModeAvailable --intensive-wake-up-throttling。切出后台或闲置 5 分钟自动深度挂起(TrySuspend与EmptyWorkingSet),常驻内存由数百兆暴降至 20MB 甚至个位数;重新切回时毫秒级瞬时恢复交互。 - DirectComposition & Presentation:原生 DirectComposition 交换链集成,跨多显示器 DPI 自适应无损渲染。
- AI Super Resolution:
--enable-features=NvidiaVsr,IntelVsr,Prerender2,DnsOverHttps - Low-Latency Transport:
--enable-quic --enable-async-dns零延迟异步 DNS 与 QUIC 快速传输。 - Bloatware Purge:
--disable-features=Translate,OptimizationHints,MediaRouter --disable-background-networking --disable-sync --disable-domain-reliability --disable-breakpad --no-pings --disable-speech-api --no-first-run彻底剔除遥测与后台多余组件。
内置纯原生 C++ 网络拦截引擎(NativeRequestFilter),放弃挂载动辄消耗几十上百兆内存的重型第三方插件:
- 底层零开销阻断:基于 WebView2
AddWebResourceRequestedFilter与add_WebResourceRequested原生事件,在 HTTP/HTTPS 网络请求尚未离开本机套接字前进行极速哈希匹配。 - 内置精准规则特征库:全量拦截主流广告联盟(Google DoubleClick、PageAd、Baidu Pos/Cpro/HM、Tencent GDT、Alibaba Tanx/Alimama 等)及跟踪探针与遥测上报(Google Analytics, CNZZ, Umeng, Hotjar, Clarity, TikTok Ads 等)。
- 本地瞬时空响应 (204 No Content):对命中目标直接在本地生成 204 空响应并带缓存头,从源头阻断网络 I/O,网页载入提速 40% 以上,实测节省流量超过 50%。
- 交互式快捷管理:点击工具栏
[ 🛡 Blocker ]即可实时查看阻断请求数量、一键开启/关闭原生拦截、或清空规则。
- 全景纯净视界:按下 F9 或 Ctrl + Shift + U(亦可通过 Blocker 菜单)一键开启“无 UI 沉浸模式”。
- 100% 视口网页填充:顶部导航工具栏、地址栏、控制按钮全部隐藏,整个窗口客户区 100% 留给网页,彻底消除任何界面视觉干扰。
- 无缝秒级返回:随时再次按下 F9 或 Esc 即可瞬时唤回工具栏。
内置专业公共 DNS 管理中心,一键切换知名国内外优质公共 DNS 服务商,彻底杜绝运营商 DNS 劫持与污染:
- 知名服务商全覆盖:
- 阿里公共 DNS (AliDNS):IPv4
223.5.5.5/223.6.6.6,IPv62400:3200::1/2400:3200:baba::1,DoHhttps://dns.alidns.com/dns-query - 腾讯 DNSPod (Public DNS):IPv4
119.29.29.29/182.254.116.116,IPv62402:4e00::/2402:4e00:1::,DoHhttps://doh.pub/dns-query - 百度公共 DNS (Baidu DNS):IPv4
180.76.76.76/180.76.76.77,IPv62400:da00::6666/2400:da00::6667,DoHhttps://doh.bce.baidu.com/dns-query - 114 DNS (南京信风):IPv4
114.114.114.114/114.114.115.115,DoHhttps://114.114.114.114/dns-query - Cloudflare (1.1.1.1 极速隐私):IPv4
1.1.1.1/1.0.0.1,IPv62606:4700:4700::1111/2606:4700:4700::1001,DoHhttps://cloudflare-dns.com/dns-query - Google Public DNS (8.8.8.8):IPv4
8.8.8.8/8.8.4.4,IPv62001:4860:4860::8888/2001:4860:4860::8844,DoHhttps://dns.google/dns-query - Quad9 (9.9.9.9 恶意威胁拦截):IPv4
9.9.9.9/149.112.112.112,IPv62620:fe::fe/2620:fe::9,DoHhttps://dns.quad9.net/dns-query - Cisco OpenDNS:IPv4
208.67.222.222/208.67.220.220,IPv62620:119:35::35/2620:119:53::53,DoHhttps://doh.opendns.com/dns-query - CNNIC SDNS (国家互联网络信息中心):IPv4
1.2.4.8/210.2.4.8,DoHhttps://doh.sdns.cn/dns-query - 自定义 DNS / DoH:自由填入任意标准 DoH 节点 URI。
- 阿里公共 DNS (AliDNS):IPv4
- 双模快捷操作:
- 工具栏快捷菜单:点击
[ 🌐 DNS ]按钮可一键开启/关闭公共 DNS,或直接单选切换服务商。 - 完整设置面板:提供完整的 IPv4/IPv6 地址展示、一键复制单条或全部 IP 节点与 DoH 地址自定义。
- 工具栏快捷菜单:点击
- 双重内核级同步应用:自动将安全 DNS 策略同步写入
HKCU\SOFTWARE\Policies\Microsoft\Edge\WebView2注册表策略以及 Chromium 用户配置UserData/Default/Preferences,保障权威解析与隐私安全。
真正做到无痕私密安全,关闭浏览器时即刻执行多层深度粉碎清理,不留任何浏览历史与临时文件:
- 实时内核级数据擦除:窗口关闭时首先触发
ICoreWebView2Profile2::ClearBrowsingDataAll,在进程退出前完整清理 HTTP 缓存、Cookies、浏览历史、密码自动填充、IndexedDB 及全部 DOM 存储。 - 进程级优雅同步关闭:追踪底层 Chromium 渲染主进程 PID,关闭 WebView 控制器后等待子进程释放文件句柄,杜绝文件被占用锁定。
- 物理级磁盘目录粉碎:深入
%LOCALAPPDATA%\UltraLightBrowser\UserData目录,递归销毁包括EBWebView缓存、GPUCache、Code Cache、DawnWebGPUCache、ShaderCache、Crashpad日志等在内的所有运行时产生的残留文件。 - 开机/启动二次冗余清理:每次启动浏览器时,在内核初始化前均自动执行全盘冗余清理,确保即便遭遇系统断电或任务管理器强制结束,旧会话也绝不留存任何痕迹。
- 延时静默自清理兜底:配套独立的延时无窗口后台自毁任务,确保即使极少数字节被杀毒软件异步扫描,也能在退出后瞬间彻底清除。
ElementBlocker ensures user privacy and ad-blocking without layout shifts:
- Pre-Render Injection: Injects domain-matched CSS rules via
AddScriptToExecuteOnDocumentCreatedbefore DOM construction, preventing ad flash. - Interactive DOM Picker (
Ctrl + Shift + H): Injects an element inspector with red outlines; clicking an element computes its optimal CSS selector and saves it directly to local JSON storage.
PowerManager dynamically manages system and child processes:
- EcoQoS Disabling: Traverses process trees to disable
PROCESS_POWER_THROTTLING_EXECUTION_SPEED, ensuring maximum frame rates and zero micro-stutters during heavy media playback. - Smart Memory Trimming: On
WM_SYSCOMMAND (SC_MINIMIZE), signalsICoreWebView2_3::TrySuspendand invokesSetProcessWorkingSetSize(GetCurrentProcess(), (SIZE_T)-1, (SIZE_T)-1)(EmptyWorkingSet), purging unneeded physical pages down to ~20MB. - Instant Resume: Restores execution immediately upon
SC_RESTOREor focus.
- HTML5 Video Fullscreen: Full support for YouTube, Bilibili, and modern web video players. Automatically transitions the Win32 window to borderless full-screen on the active monitor, hides toolbars, and expands WebView2 bounds smoothly.
- F11 & Escape Keyboard Control: Seamlessly toggle fullscreen with F11 or exit with Esc across both the browser frame and web contents.
- Raw-Pixel Viewport Scaling (
COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS): Matches WebView2 bounds 1:1 with Win32 client area physical pixels, eliminating DIP scaling distortion and ensuring webpage layouts adapt dynamically and crisply to any window size, maximization state, or monitor DPI (100%, 125%, 150%, 200%).
- 全套快捷键支持:
- Ctrl + + / = : 放大页面(逐步放大至最高 500%)
- Ctrl + - : 缩小页面(逐步缩小至最低 25%)
- Ctrl + 0 : 一键重置页面缩放为 100%
- Ctrl + 鼠标滚轮 : 原生平滑滚轮缩放
- 工具栏实时比例指示:工具栏显式内置缩放百分比按钮(如
🔍 100%),与网页当前缩放比例保持双向实时同步。 - 快速预设菜单:点击缩放按钮即可唤出原生快捷菜单,支持一键切换预设比例(25%、33%、50%、67%、75%、80%、90%、100%、110%、125%、150%、175%、200%、250%、300%、400%、500%),并在当前比例项显示勾选标。
- 双层全局按键拦截:无论焦点在页面 DOM 内部还是在 Win32 地址栏/工具栏,快捷键均由底层直接拦截派发,实现无缝缩放体验。
- Operating System: Windows 11 (x64)
- Compiler: Microsoft Visual Studio 2022 (with Desktop development with C++)
- Build System: CMake
>= 3.25 - Package Manager: vcpkg or NuGet
- Runtime: Microsoft Edge WebView2 Evergreen Runtime (pre-installed on Windows 11)
# Clone the repository
git clone https://github.com/Freecode100Year/UltraLightBrowser.git
cd UltraLightBrowser
# Configure with vcpkg toolchain
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
# Build optimized Release binary
cmake --build build --config Release
# Output executable:
# .\build\Release\UltraLightBrowser.exe# Restore NuGet packages
nuget restore packages.config -PackagesDirectory packages
# Configure with CMake
cmake -B build -S .
# Build
cmake --build build --config Release- F11 : Toggle Fullscreen Mode
- F9 / Ctrl + Shift + U : Toggle Zero-UI Immersive Mode (一键无 UI 沉浸模式)
- Esc : Exit Fullscreen & Immersive Mode / Reset Address Bar
- Ctrl + + / = : Zoom In (放大页面)
- Ctrl + - : Zoom Out (缩小页面)
- Ctrl + 0 : Reset Zoom to 100% (重置缩放)
- Ctrl + 鼠标滚轮 : Smooth Zoom (平滑滚轮缩放)
- Ctrl + L : Focus Address Bar
- Ctrl + Shift + H : Toggle Interactive Element Hiding / Picker Mode
- Ctrl + R / F5 : Reload Current Page
- Alt + ← : Navigate Back
- Alt + → : Navigate Forward
If you find UltraLightBrowser useful, please give it a ⭐ on GitHub! Your support motivates continuous improvement.
This project is licensed under the MIT License.