Cesium guest: the frame's way back takes 3.3 ms
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript
- Domain
- backend-api-design, performance
Research direction
Start by measuring the decode inside makeNetGLHostReceiver's message handler, as the issue requests, to separate receiver work from the cross-process clone. Compare the result with the reported 3.3 ms return time and the phase 0 settled-frame numbers. If findings identify a worthwhile change, record them in portal-netgl's DESIGN.md; the issue describes buffer transfer or sending less data as possible follow-ups.
Written by the indexing model from the issue text.
Description
With ?cesium=iframe and the guest on its own site (#310), scene.cesiumGuests on the M2 splits a 14.3 ms round trip into 1.1 ms for the view to reach the guest, 9.9 ms for the guest's frame, and 3.3 ms (p95 3.9) for the frame to get back. The way back runs from the batch posted on the guest's port to its frame-end handled by celestiary's receiver: the structured clone across processes, plus the receiver's decode. Celestiary waits through all of it, so it's on the frame's critical path.
Next:
- Measure the receiver's decode on its own (time inside
makeNetGLHostReceiver's message handler), so the clone and the decode can be told apart. - If it's the clone: transfer the batch's buffers rather than copying them, or send less per settled frame (at rest a Cesium frame should be checkpoint and draws, no uploads; phase 0's numbers).
- Findings belong in portal-netgl's DESIGN.md.
- Dominant language
- JavaScript
- Stars
- 55
- Forks
- 4
- Avg merge
- 10h 12m
- Merged PRs (30d)
- 134
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from celestiary/web
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
celestiary/web#345 ·
Maintainers usually reply within 1 day
-
Cesium guest (?cesium=iframe): white flicker near Mars's and Earth's surface remains after #335Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
celestiary/web#344 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
celestiary/web#340 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 1-2 days Newbie friendliness 48/100
celestiary/web#336 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
celestiary/web#334 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
44-x-y bug :beetle:
Difficulty 1/5 Under an hour Newbie friendliness 82/100
electron/electron#55528 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
react/react-native#59699 ·
Maintainers usually reply within 2 days
-
status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
mastra-ai/mastra#29053 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement triage
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
fjaeckel/seriesoftubes#230 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day