From 361145535785485891b940e80bdb5bfbb5c9b50f Mon Sep 17 00:00:00 2001 From: AskaEth Date: Mon, 5 Oct 2026 14:00:56 +0800 Subject: [PATCH] =?UTF-8?q?docs(05):=20=E9=94=9A=E7=82=B9=E8=A1=A5?= =?UTF-8?q?=E8=AE=B0=E5=8D=81=E4=BA=8C=E2=80=94=E2=80=94AVD=20=E8=B0=83?= =?UTF-8?q?=E5=8F=82=E7=AC=AC=E4=BA=8C=E8=BD=AE=EF=BC=88=E7=BC=A9=E5=B0=8F?= =?UTF-8?q?=E5=88=B0=201080x2340=E3=80=81vCPU=20=E9=99=8D=E5=88=B0=205?= =?UTF-8?q?=E3=80=81=E5=88=A0=20skin=20=E6=89=8D=E8=AE=A9=20hw.lcd=20?= =?UTF-8?q?=E7=94=9F=E6=95=88=EF=BC=89=EF=BC=8C=E5=B9=B6=E8=AE=B0=E4=B8=8B?= =?UTF-8?q?=E3=80=8C=E6=97=A0=E7=AA=97=E5=8F=A3=E4=BC=9A=E9=99=8D=E7=BA=A7?= =?UTF-8?q?=E6=88=90=E8=BD=AF=E4=BB=B6=20GL=EF=BC=8C=E5=8F=8D=E8=80=8C?= =?UTF-8?q?=E6=9B=B4=E6=85=A2=E3=80=8D=E8=BF=99=E6=9D=A1=E4=B8=8E=E7=9B=B4?= =?UTF-8?q?=E8=A7=89=E7=9B=B8=E5=8F=8D=E7=9A=84=E5=AE=9E=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devdocs/05-开发进度与交接.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/devdocs/05-开发进度与交接.md b/devdocs/05-开发进度与交接.md index ff12ead..3c0739b 100644 --- a/devdocs/05-开发进度与交接.md +++ b/devdocs/05-开发进度与交接.md @@ -898,3 +898,34 @@ curl -s -X PATCH "$BASE/api/v1/sessions/$SID" -H "Authorization: Bearer $TOK" \ > 3. `Offline` 立刻告知(不等 3 秒)——W39 遗留,未动。 > 4. **未纳入新判据的一处字面量**:REST 回执被拒那条路仍是 `rejected.message.ifBlank { "发送失败,请重试" }`,刻意未动。 > 5. 旧账:子会话流程(主人搁置)、图片/工具卡实机验证(后端未配工具)、**相册多选→分享**(只能走真机或驱动相册 UI)。 + +> ## ★★ 锚点补记十二(2026-10-05 深夜 · AVD 调参第二轮:尺寸/核数/无窗口) +> +> ### 状态 +> `android` = `origin/android` = **`31e8e31`**(W40 合并提交);主树 **1118 测试 / 0 失败 / 0 错误**;worktree 只剩主树。 +> +> ### 先纠正一条容易走错的路:**硬件加速本来就是开着的** +> 模拟器日志:`WHPX on Windows 10.0.26100 detected` + `Windows Hypervisor Platform accelerator is operational`;CPU `VirtualizationFirmwareEnabled=True`。 +> ⇒ **慢不是「没吃到加速」**,别往那个方向修。 +> +> ### 本轮改了什么(`Pixel_10_Pro_XL.avd/config.ini`) +> | 项 | 改前 | 改后 | 理由 | +> |---|---|---|---| +> | `hw.lcd.width/height/density` | 1344×2992 @480 | **1080×2340 @440** | 像素少 ~37%,Compose 每帧重绘直接变轻 | +> | `hw.cpu.ncore` | 6 | **5** | 宿主只有 6 个物理核;**给满会与宿主机互相抢**(WHPX 下超额分配会互相等) | +> | `skin.name` / `skin.path` / `skin.dynamic` | 指向 `pixel_10_pro_xl` 皮肤 | **整三行删除** | **皮肤会把屏幕尺寸钉死**,`hw.lcd.*` 完全不生效(实测 `wm size` 仍是 1344×2992);删掉后 `wm size` 才是 1080×2340 | +> | `showDeviceFrame` | yes | **no** | 无皮肤时没必要画外框 | +> 备份留在 `app/build/e2e-shots/config.ini.bak`(改坏了可原样还回去)。 +> `hw.ramSize=8192` / `vm.heapSize=512` 沿用上一轮(那一轮把 **iowait 196%→14%、swap 457MB→0**,是本项目至今最大的一次性能收益)。 +> +> ### ❌ `-no-window` **不要用**(这条与直觉相反,实测证据) +> 无窗口启动时模拟器把渲染降级成软件 GL:日志 `emuglConfig_init: vulkan_mode_selected:lapvaipe gles_mode_selected:swiftshader` +> ⇒ **省了宿主窗口开销,却丢了宿主 GPU**(原先是有窗口时的 `vulkan:host / gles:host`,用的是 AMD RX 6600 XT)。 +> 对以 Compose 重绘为主的负载,这是**倒退**。⇒ **保留窗口跑**。 +> +> ### 结论:**真机做验证、模拟器做冒烟与看日志** +> 全系统模拟本来就比真机慢 5~10 倍,宿主是 6 核 Zen3,再压也压不出真机的手感。其余可做的:测试期间别同时跑 Gradle / 别开 Docker 与浏览器(今天就有一次构建把 App 饿到 ANR);保持快照启动(已开)。 +> 「换别的虚拟机」这条路**对这个项目基本走不通**:WSA 微软 2025 已停服;MuMu/LDPlayer/BlueStacks 多是 Android 9~12,而我们 `minSdk 33` **至少要 Android 13 才装得上**;Genymotion 个人版付费且镜像滞后;Waydroid 只有 Linux。**官方模拟器 + 真机仍是最优组合。** +> +> ### 待办(本节的) +> - 新尺寸下**没重跑**任何设备验证(App 已装、登录态在;下次做设备测试时留意**旧的点击坐标全部作废**,要按 1080×2340 重新取样)。