Skip to content

Add support tasks which can be used to share work with other threads that are e.g. waiting for a mutex#3159

Draft
IntegratedQuantum wants to merge 2 commits into
PixelGuys:masterfrom
IntegratedQuantum:parallelize_the_basics
Draft

Add support tasks which can be used to share work with other threads that are e.g. waiting for a mutex#3159
IntegratedQuantum wants to merge 2 commits into
PixelGuys:masterfrom
IntegratedQuantum:parallelize_the_basics

Conversation

@IntegratedQuantum

Copy link
Copy Markdown
Member

Main motivation for this is poor debug mode load times, and generally poor thread utilization. Currently NoiseBasedVoronoi and CaveBiomeMapGen are basically single-threaded at the start of the game, since every chunk needs to wait on them.

This PR adds support tasks, which allow threads to share their workload with other threads in a more fine-grained way.
e.g. one could imagine a mutex type that tries to run support tasks before blocking.

  • Make it easier to use
  • use it more
  • improve implementation with Conditions
  • check perf improvements

fixes #107

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Poor performance of the noise_based_voronoi generator

1 participant