Epic: networking -- own the asset fetch path, modern curl + OpenSSL for everything else #484
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#484
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
SL's own viewer still ships curl 7.54.1 (2017) and OpenSSL 1.1.1 (end of life). Upgrading curl naively loses HTTP/1.1 pipelining (removed in curl 7.65), which our texture and mesh fetches use, and the asset CDN offers no HTTP/2 to replace it. LL changes slowly, so we don't wait on them.
Plan:
llcorehttp.Rules:
Measured: HttpPipelining on vs off, cold cache (2026-10-06)
Setup: the AssetFetch timeline log (
e991adb381), real caches moved aside, default connection counts (texture 8, mesh2 8, well within LL's caps).Light region (on first, then off):
Busy region (off first, then on; similar camera turn in both):
Conclusion:
Decision:
sky_line referenced this issue2026-10-06 14:15:23 +00:00
Done. curl 8.x (#391) and OpenSSL 3 (#392) are in; asset fetch runs under our own scheduling on top of llcorehttp (#485, Beta 7) instead of a custom pipelined client, since pipelining measured as a wash and the CDN is HTTP/1.1-only. Pipelining is off (CURLPIPE_NOTHING) and the old pipeline-depth path is gone. Connection counts stay within LL's shipped caps.