[Bug]: 1.19 - Grid rendering performance
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- java
- Ambito
- frontend, performance
Direzione di ricerca
Start by comparing square-grid rendering and map panning behavior between versions 1.18 and 1.19.0-alpha.1, then profile while dragging at zoom levels above and below 50% to locate the slowdown. Done when panning with a visible square grid is smooth at typical zoom levels; the issue names no source files or tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the Bug
I mainly use MT with square grids. On 1.18, I could smoothly interact with MT (e.g., by panning the map) while the grid is displayed. On 1.19, the map moves sluggishly when panned, making it difficult to look at.
If I zoom out to <50%, then performance is okay.
To Reproduce
- Open MT
- Make a map with a square grid type
- Show the grid.
- Drag to pan the map.
Expected Behaviour
The map should pan smoothly in response to user interaction.
Screenshots
No response
MapTool Info
1.19.0-alpha.1
Desktop
Linux Mint 22.3
Additional Context
For comparison, I did some timings on a blank map with only a solid background color and the grid being rendered at 100% zoom. On both versions, I hacked the timer thresholds to 0 so we can see everything, and grabbed a representative frame.
On 1.18.8:
Timer ZoneRenderer.renderZone (34 elements)
0. 4 ms <root>
1. 4 ms paintComponent
2. 0 ms paintComponent:allocateBuffer
3. 0 ms update
4. 0 ms setup
5. 0 ms calcs-1
6. 0 ms ZoneRenderer-getVisibleArea
7. 0 ms createTransformedArea
8. 2 ms board
9. 0 ms drawableBackground
10. 0 ms drawableObjects
11. 0 ms grid
12. 0 ms renderLights
13. 0 ms renderLumensOverlay
14. 0 ms renderAuras
15. 0 ms drawableTokens
16. 0 ms drawableGM
17. 0 ms unowned movement
18. 0 ms labels-1
19. 0 ms renderFog
20. 0 ms owned movement
21. 0 ms token name/labels
22. 0 ms renderVisionOverlay
23. 0 ms overlays
24. 0 ms overlays: PointerOverlay
25. 0 ms renderCoordinates
26. 0 ms lightSourceIconOverlay.paintOverlay
27. 0 ms RenderHelper-createContext
28. 0 ms RenderHelper-doRender
29. 0 ms RenderHelper-useAA
30. 0 ms RenderHelper-setTransform
31. 0 ms RenderHelper-render
32. 0 ms RenderHelper-disposeContext
33. 2 ms paintComponent:renderBuffer
And on 1.19.0-alpha.1
Timer ZoneRenderer.renderZone (34 elements)
0. 20387 μs <root>
1. 20383 μs paintComponent
2. 2 μs paintComponent:allocateBuffer
3. 61 μs update
4. 4 μs setup
5. 2 μs calcs-1
6. 0 μs ZoneRenderer-getVisibleArea
7. 1 μs createTransformedArea
8. 2056 μs board
9. 10 μs drawableBackground
10. 0 μs drawableObjects
11. 16599 μs grid
12. 10 μs LightsRenderer-renderLights
13. 0 μs LumensRenderer-renderLumensOverlay
14. 4 μs LightsRenderer-renderAuras
15. 3 μs drawableTokens
16. 0 μs drawableGM
17. 4 μs unowned movement
18. 30 μs labels-1
19. 0 μs FogRenderer-renderFog
20. 0 μs owned movement
21. 1 μs token name/labels
22. 0 μs VisionOverlayRenderer-renderVisionOverlay
23. 15 μs overlays
24. 2 μs overlays: PointerOverlay
25. 0 μs renderCoordinates
26. 0 μs lightSourceIconOverlay.paintOverlay
27. 0 μs DebugRenderer-createContext
28. 20 μs DebugRenderer-doRender
29. 1 μs DebugRenderer-useAA
30. 4 μs DebugRenderer-setTransform
31. 14 μs DebugRenderer-render
32. 0 μs DebugRenderer-disposeContext
33. 1485 μs paintComponent:renderBuffer
- Lingua principale
- Java
- Stelle
- 927
- Fork
- 286
- Merge medio
- 3g 17h
- PR unite (30g)
- 94
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
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 RPTools/maptool
-
[Bug]: An initiative list with no current entry logs an error on every changeForse già presa @dwizard0 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
[Maintenance]: Migrate gradle dependency submission to modern alternativeForse già presa @VelpulaGangavardhan l’ha presa 18 giorni fa. Apertacode-maintenance
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
RPTools/maptool#6156 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
code-maintenance
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di RPTools/maptool
Issue simili
-
Cleanup: restore the interrupt flag in AiFailureAnalyzerForse già presa @Rishankgupta08 l’ha presa oggi. Apertagood first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
seleniumboot/selenium-boot#258 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
dense-analysis/ale#5181 ·
-
bug subsystem:agent-harness triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ShaftHQ/SHAFT_ENGINE#8043 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
johanhaleby/occurrent#1505 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno