Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Ball and Stick: 171 ms per frame for a 5184-atom water box (CPK: 20 ms)

Aperta
#224 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
c
Ambito
performance

Direzione di ricerca

Start with the tools/viewer-bench benchmark and profile its water-box Ball and Stick case using perf record; the issue notes that Xvfb is sufficient. Compare where CPU time is spent in moiv/viz versus the rasteriser, using the CPK case as a reference. Done when the profile identifies the repeated per-frame cost behind the 171 ms rendering time.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Measured with tools/viewer-bench (branch wip/viewer-bench) on an NVIDIA RTX 3050, 800×800, mean ms per frame:

System Ball and Stick CPK
water, benzene, Cr(CO)6 0.5–0.8 0.4–0.5
benzene + MO isosurface 1.0 –
water box, 5184 atoms 171 20

Render caching AUTO vs OFF makes no difference in any case.

The same atoms draw 8.5× faster in CPK, so the cost is in the bond path of Ball and Stick. A few thousand cylinders in immediate-mode GL take a few ms on this GPU; 170 ms suggests CPU work repeated every frame (bond finding or geometry rebuilt per render) rather than GL submission. Rewriting moiv's drawing to vertex buffers would therefore probably not address it.

Next step: a CPU profile (perf record) of the benchmark's water-box Ball and Stick case; Xvfb is sufficient, as the profile separates moiv/viz time from the rasteriser. Relevant only for large systems (MD boxes, proteins); teaching-sized molecules render in under 1 ms.

Lingua principale
C
Stelle
10
Fork
8
Merge medio
21m
PR unite (30g)
1

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di FriendsofECCE/ECCE

Tutte le issue di FriendsofECCE/ECCE

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.