Thread-Safety for NoiseGenerator and Tile/Gridmaps #127
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.
Just a few adjustments in response to #126.
This PR does two things:
generate_chunk
method thread-safe (using deferred signal emissions).set_cell
anderase_cell
calls inside of Tile/GridmapGaeaRender's_draw_area
method.As for the lag issue, the proposed solution is to replace these deferred calls with
call_thread_safe
. This fixes the issue by ensuring that when threaded,_draw_area
won't try to queue up significant numbers of deferred but expensive calls. Instead it will wait for the completion of one, then go to the next, and so on (all without blocking the main thread).