From a5849969d386a17bf3652c10594f91496b806de6 Mon Sep 17 00:00:00 2001 From: lxh2875931338 Date: Fri, 23 Oct 2026 23:16:07 +0800 Subject: [PATCH] =?UTF-8?q?perf(metadata):=20=E5=85=83=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8E=A2=E6=B5=8B=E4=BB=8E=202MB=20=E9=99=8D=E5=88=B0=20512KB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1Panel 访问日志显示:2MB 的探测请求在当前链路上要 10~18 秒, 期间 libmpv 的 206 吞吐被压到 ~1Mbps,直接拖慢起播。 - _maxBytes 2MB -> 512KB:常见标签与封面都在此范围内 - 读不到标签时仍由 80% 重试兜底 - 日志文案同步更新 另:访问日志 CSV 属于本地参考,加入 .gitignore --- .gitignore | 5 ++++- lib/metadata/file_provider.dart | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a40600a..da0bd23 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,7 @@ gradle-build.log *.iml # ---------- 个人笔记(不上传) ---------- -bug-todo.txt \ No newline at end of file +bug-todo.txt + +# ---------- 服务器/监控日志(本地参考,不上传) ---------- +monitor-log-*.csv diff --git a/lib/metadata/file_provider.dart b/lib/metadata/file_provider.dart index b272433..e227bdc 100644 --- a/lib/metadata/file_provider.dart +++ b/lib/metadata/file_provider.dart @@ -14,7 +14,11 @@ class WebDAVFileProvider implements FileProvider { /// 只为读标签取文件头部,绝不整文件下载。 /// 之前用 dio.download 会把整首歌拉到临时目录,和 mpv 的流式播放抢带宽, /// 20Mbps 的 FRP 链路上尤其明显(表现为流量很高但缓冲一直为 0)。 - static const int _maxBytes = 2 * 1024 * 1024; + /// + /// 从访问日志看:2MB 的探测请求在这条链路上要 10~18 秒, + /// 期间 libmpv 的 206 吞吐会被压到 1Mbps 左右,所以压到 512KB。 + /// 常见标签 + 封面都在这范围内;读不到时由上层在 80% 处重试。 + static const int _maxBytes = 512 * 1024; /// 切歌时取消上一次未完成的下载,避免多个下载叠加占满带宽。 static CancelToken? _activeToken;