0.2.6-dev: the WebSocket compression figures in the code and docs are the server counters' measurement (173 KB of frames → 60 KB on the wire)

This commit is contained in:
sganggs committed 2026-10-12 16:53:43 +08:00
1 parent 409fec90d5
commit a119793af6
4 files changed
+10 -8

No files matched your search

+4 -3
View File
@@ -480,9 +480,10 @@ Layer 0:
and voices were already gated. Normative line: design/client.md Audio.
- **WebSocket permessage-deflate** (`server/http/websocket.js WS_DEFLATE`): frames from 1 KB, no server context
takeover, a 2 KB server window, zlib memLevel 7 (about 72 KB of zlib state per connection). [ASSUMED] the parameters
come from one measured solo session (216 server frames: 169 KB → 63 KB; windows above 2 KB gained nothing); co-op
messages are the same kinds. A client that offers a narrower server window than 2 KB, which ws would refuse with a 400,
connects uncompressed instead (`narrowDeflateOffer`). Normative line: design/network.md §8 Transport.
come from measured solo sessions (the server counters: 173 KB of frames → 60 KB on the wire; replaying 216 captured
frames, windows above 2 KB gained nothing); co-op messages are the same kinds. A client that offers a narrower server
window than 2 KB, which ws would refuse with a 400, connects uncompressed instead (`narrowDeflateOffer`). Normative
line: design/network.md §8 Transport.
- **玩法说明 pages as WebP.** `tools/local-extract/extract.py` writes a WebP copy beside each of the 19 local pages and
the manifest lists it (`GUIDE_WEBP_MODE`); the guide preloads only the next page instead of both neighbours. The
copies are lossless (25.6 MB → 17.4 MB on the CN client's pages). Lossy quality 90 would make them 4.2 MB; per the