mapeditor / mapeditor/tiled

Optimize minimap updates

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

Nobody has claimed this yet.

Dominant language
C++
Stars
12.9k
Forks
2k
Avg merge
4h 27m
Merged PRs (30d)
8

Description

When editing large maps the minimap is not performing well enough, causing annoying pauses while the minimap is repainting. Possible fixes:
- Move the updating of the minimap into a thread. This would require the map data and used tilesets to be cloned to prevent changes to it to crash the minimap rendering thread.
- Only redraw the actually changing areas. For most operations this would make the minimap updates really quick since they tend to affect only a small area.

The only available workaround to this problem currently is to close the minimap, which suppresses the repaints.

Contributor guide

Open the contributing guide

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.

Research direction

Start by locating the minimap repaint and update path in the editor, then reproduce the pauses with a large map. Compare the issue's two proposed directions—threaded updates or redrawing only changed areas—and establish measurements for the current behavior. Done means large-map editing no longer causes the reported minimap pauses, with the chosen approach verified against relevant editing operations.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, performance
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.