piegamesde / BlockMap

An out-of-game map renderer and viewer for Minecraft 1.13–1.18 worlds [unmaintained]
MIT License
92 stars 22 forks source link

BlockMap GUI stops responding part way through large map render #76

Open Kelzky opened 2 years ago

Kelzky commented 2 years ago

Environment info

Description

Once the map is just over 50% rendered the program slows very quickly then stops responding completely. This is on a world that is 12k x 12k blocks. Smaller world sizes render without a problem, a random guess would be that it runs out of memory or the world is too big to render.

Steps to reproduce

  1. Use task manager to end Java
  2. Open Blockmap
  3. Select same world to render

Actual result

The same thing happens as in "Description"

Screenshots

image This is how far the map renders before it stops responding. image Program continues to use resources after it has stopped responding.

Debug log

This is what happens when I try to get the debug file, apologies as I know this doesn't look helpful but I am unsure of what to put in.


WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
Missing required subcommand
Usage: blockmap [-hvV] COMMAND
  -h, --help      Print this help message and exit
  -v, --verbose   Be chatty
  -V, --version   Print version information and exit.
Commands:
  render       Render a folder containing region files to another folder
                 through the command line interface
  render-many  Render multiple worlds using a configuration file for usage in
                 servers

This is the command line interface of blockmap. To access the GUI (if
installed), run `blockmap-gui`.```
piegamesde commented 2 years ago

It looks like your report is confusing the CLI and GUI. I'll assume that you are using the GUI, since there is a screenshot. But yes, the application does not handle huge worlds super well (it still does a lot better than other tools though), but depending on your hardware it should be able to manage some 400 region files, which roughly corresponds to the size of your world.

Kelzky commented 2 years ago

Ah okay, the region folder has just under 2500 files in it. This world was a SMP that we downloaded once our season ended, I'm not the owner of the world but had been tasked to find builds on it for sharing with our players. I am still able to use the program, as it's rendering the first lot of files, to grab coordinates. Thank you so much for a quick response.

Another question while I am here, if I may, when I try to render a differemt SMP world (similar size) it states that there is an "Unknown dimension ID "minecraft:creative" which was part of a multiverse plugin. Would you know if there is a way around that? I can open a seperate issue - including the exception stacktrace if that is better?

piegamesde commented 2 years ago

Ouch, 2500 region files is a lot. I think my largest stress test I did had 2000 region files, and that was a few years ago before I removed parts of the caching (it was more memory efficient, but added a lot of complexity and had bugs). You may still use the CLI to render the individual images and find some tool that stitches them together somehow in order to view your world.

Multiverse support is something I'd like to have in BlockMap, however I don't use it so I need some test worlds so that I can implement it.