Make PNJ the default map image io backend #306
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Configs with (effectively) default image io settings will be switched to use PNJ. Otherwise, they will continue to use BufferedImage. Acceptable values for the backend option are
pnj
andbufferedimage
.Some basic testing shows that PNJ gives compression near the max setting for BufferedImage while taking less time.
The following results are for rendering the same map twice in a row (after a warmup run) averaged over a couple of runs (time), and for the whole tiles directory for the dimension (size). Time is what was spent in
MapImage#save
on the image io thread as measured by spark (async profiler).Questions to answer before merging:
MapImage#save
method (which includes encode and decode).