Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Cesium guest: the frame's way back takes 3.3 ms

Open
#313 0 comments 0 reactions 0 assignees View on GitHub

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

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

cesium track:platform

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from celestiary/web

All issues in celestiary/web

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.