Frame rate on and near Earth's surface: 30–40 FPS against 60 in space
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 28/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, three.js
- Ambito
- computer-graphics, performance
Direzione di ricerca
Start by measuring on the user's real GPU; the issue names AGENTS.md as the place to document the ?perf=1 overlay. Inspect the meter readback, night-lights rendering, atmosphere pass, cloud shell (#88), and galaxy and night-sky passes, then use per-pass timings and toggles to prioritize costs. Done means surface views reach 50–60 FPS on the user's machine, or each remaining cost is measured and its reason recorded.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Part of #121.
The problem
Production frame rates on a real GPU (the user's Mac, Brave):
| View | FPS |
|---|---|
| Space | about 60 |
| On or near Earth's surface, even looking down with no sky in view | 30–40 |
| Looking at the Sun from the surface by day, with time running | 18–20 (seen on PR #187) |
PR #187 is fixing its own surface regression (about 20 against 30–40) separately. This issue is the headroom on main.
Known or suspected costs on the surface
- Cesium's draws run twice. The shadow context executes every draw as well as the replay (#103, upstream in portal-netgl).
- The night lights are a second, unlit Cesium frame plus a decode pass (#93, PR #179). Check whether it renders on the day side, or when the night side isn't in view.
- The meter's synchronous readback every 4th frame stalls the pipeline (found on #187). Make it asynchronous: a PBO plus
fenceSync/clientWaitSyncpolling, read a frame or two late. - The atmosphere pass at full resolution, the cloud shell (#88), and the galaxy and night-sky passes. Each should cost nothing when its result can't show.
The work
- Measure on the real GPU first. The sandbox's SwiftShader can't time GPU work. Add a
?perf=1overlay with per-pass GPU timings (EXT_disjoint_timer_query_webgl2where available). Where it isn't, show CPU-side timings plus per-frame counts of draws, full-screen passes, render-target switches and readbacks, and URL toggles to switch each pass off, so the user can bisect the cost on their machine. Document it in AGENTS.md. - With the user's numbers, take the biggest costs in order:
- the asynchronous meter readback;
- skipping invisible work (night lights by day, passes whose result is under a display step);
- the atmosphere pass's resolution;
- #103 upstream.
Done when
On the user's machine, the surface views reach at least 50–60 FPS, or each remaining cost is measured and recorded with the reason it stays.
Generated by Claude Code
- Lingua principale
- JavaScript
- Stelle
- 55
- Fork
- 4
- Merge medio
- 10h 12m
- PR unite (30g)
- 134
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di celestiary/web
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
celestiary/web#345 ·
I maintainer di solito rispondono entro 1 giorno
-
Cesium guest (?cesium=iframe): white flicker near Mars's and Earth's surface remains after #335Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
celestiary/web#344 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
celestiary/web#340 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 1-2 giorni Idoneità per principianti 48/100
celestiary/web#336 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
celestiary/web#334 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di celestiary/web
Issue simili
-
follow-redirects updateAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
mailgun/mailgun.js#544 ·
-
beginner bug frontend
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
BistaDinesh03/critique#266 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
solana-foundation/solana-web3.js#4015 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area: dependencies auto-generated cwe: 405 dependencies ecosystem: npm help wanted package: minimatch scope: runtime security security-alert severity: medium source: dependabot supply-chain vulnerability
Difficoltà 2/5 Mezza giornata Idoneità per principianti 65/100
tdk-landscape/tdk-cli-core#2811 ·
-
a11y bug confirmed issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
open-webui/open-webui#33442 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno