Ball and Stick: 171 ms per frame for a 5184-atom water box (CPK: 20 ms)
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- c
- Domínio
- performance
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- C
- Estrelas
- 10
- Forks
- 8
- Merge médio
- 21min
- PRs com merge (30d)
- 1
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de FriendsofECCE/ECCE
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
FriendsofECCE/ECCE#336 · 1 comentário ·
-
Viewer under XWayland: MO Diagram window opens black; bottom strip blinks on property switchesAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 43/100
FriendsofECCE/ECCE#361 · 1 comentário ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
FriendsofECCE/ECCE#359 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 28/100
FriendsofECCE/ECCE#358 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
FriendsofECCE/ECCE#357 · 3 comentários ·
Todas as issues de FriendsofECCE/ECCE
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
libsdl-org/SDL#16539 ·
Mantenedores costumam responder em até 1 dia
-
git-workflow task-4
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
dosemu2/dosemu2#3178 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia