Skip to content

Priority scheduler#96

Merged
BLaZeKiLL merged 21 commits intodevelopfrom
feat/priority-scheduler
Mar 23, 2023
Merged

Priority scheduler#96
BLaZeKiLL merged 21 commits intodevelopfrom
feat/priority-scheduler

Conversation

@BLaZeKiLL
Copy link
Copy Markdown
Owner

@BLaZeKiLL BLaZeKiLL commented Mar 22, 2023

Completely re-wrote the scheduler, it is much more simple more robust now. at its core, it uses priority queues to claim and reclaim chunks. so now we have 2 queues for chunk data and 2 queues for chunk meshes, so 4 in total.

I also changed how data is accessed in the jobs and now all jobs work on their own respective slices of data, this allows us to schedule chunk data and chunk mesh jobs together which improves performance, also the main chunk store doesn't need to be a native-hash-map anymore we just compute a native slice of what a job requires as it is getting scheduled.

I don't feel there is any big performance impact of the new scheduler when compared to the old one, but it may use more memory.

should fix #87
closes #88

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed
* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci
* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)
* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix
* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Samples Fixes (#84)

* Samples dependencies fixed

* readme updated

* grass below fix
@BLaZeKiLL
Copy link
Copy Markdown
Owner Author

This is gonna clutter the git history, hmm I'll add a contributing guide soon. so I myself remember the gitflow of this repo 🤣

@BLaZeKiLL BLaZeKiLL merged commit 4e8be99 into develop Mar 23, 2023
@BLaZeKiLL BLaZeKiLL deleted the feat/priority-scheduler branch March 23, 2023 23:08
BLaZeKiLL added a commit that referenced this pull request May 6, 2024
* Release v1.1.0 (#77)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Release v1.1.1 (#79)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* Release v1.1.2 (#82)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* Release v1.1.3 (#83)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Release v1.1.4 (#85)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Samples Fixes (#84)

* Samples dependencies fixed

* readme updated

* grass below fix

* Unity updated

* Update README.md

* Update README.md

* priority queue added

* batch frame attempt

* V2 scheduler implemented

* Chunk Pool V2

* few errors fixed

* some what working the holes issue still exists

* Scheduler is now non-blocking

* exceptions resolved

* It's working !!!

* Cleanup

* Cleanup

* Few things renamed
BLaZeKiLL added a commit that referenced this pull request May 6, 2024
* Release v1.1.0 (#77)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Release v1.1.1 (#79)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* Release v1.1.2 (#82)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* Release v1.1.3 (#83)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Release v1.1.4 (#85)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Samples Fixes (#84)

* Samples dependencies fixed

* readme updated

* grass below fix

* Unity updated

* Update README.md

* Update README.md

* priority queue added

* batch frame attempt

* V2 scheduler implemented

* Chunk Pool V2

* few errors fixed

* some what working the holes issue still exists

* Scheduler is now non-blocking

* exceptions resolved

* It's working !!!

* Cleanup

* Cleanup

* Few things renamed
BLaZeKiLL added a commit that referenced this pull request May 6, 2024
* Release v1.1.0 (#77)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Release v1.1.1 (#79)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* Release v1.1.2 (#82)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* Release v1.1.3 (#83)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Release v1.1.4 (#85)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Samples Fixes (#84)

* Samples dependencies fixed

* readme updated

* grass below fix

* Unity updated

* Update README.md

* Update README.md

* priority queue added

* batch frame attempt

* V2 scheduler implemented

* Chunk Pool V2

* few errors fixed

* some what working the holes issue still exists

* Scheduler is now non-blocking

* exceptions resolved

* It's working !!!

* Cleanup

* Cleanup

* Few things renamed
BLaZeKiLL added a commit that referenced this pull request May 6, 2024
* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Close Release v1.1.X (#86)

* Release v1.1.0 (#77)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* Release v1.1.1 (#79)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* Release v1.1.2 (#82)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Release v1.1.3 (#83)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Samples Fixes (#84)

* Samples dependencies fixed

* readme updated

* grass below fix

* [skip ci] Readme Update & Version Bump

* [skip ci] Readme updated

* [skip ci] Readme update

* [skip ci] Readme Update

* Dependencies updated

* Priority scheduler (#96)

* Release v1.1.0 (#77)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Release v1.1.1 (#79)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* Release v1.1.2 (#82)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* Release v1.1.3 (#83)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Release v1.1.4 (#85)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Samples Fixes (#84)

* Samples dependencies fixed

* readme updated

* grass below fix

* Unity updated

* Update README.md

* Update README.md

* priority queue added

* batch frame attempt

* V2 scheduler implemented

* Chunk Pool V2

* few errors fixed

* some what working the holes issue still exists

* Scheduler is now non-blocking

* exceptions resolved

* It's working !!!

* Cleanup

* Cleanup

* Few things renamed

* build fix (#97)

* Initial chunk generation removed (#98)

* Fixed scheduling edge cases (#99)

* Chunk pool reclaim fixed

more scheduling checks added

* local defines changed

* Update build.yml (#100)

windows 2019 revert

* Submeshing (#101)

* Scheduler Tick Rate change

tick rate set to 4, same as temp job allocation time

* Unity 2021.3.21f1

* Water block data added

* Graphy added to the demo

* Package updates

* Colored samples deleted

* Chunk data BFP removed

* MainMenu fixed

* Debug Data View Added

* HUD fixes

* Default draw distance set to 8

* Water generation done

* AO fix

* Water working

* Refactor 1

* Refactor 2

* Refactor 4

* Water AO

* Fixed typos in ReadMe (#104)

* Colliders (#111)

* Sand block added

* Refactoring

* Collider done

* New player controller for demo app (#114)

* working on unity 2022.3

* KCC

* working

* Sprinting done

* Cleanup

* Input fix

* Runtime API (#115)

* Updated to unity 2022.3.10

* runtime tools

* Debug UI added to git and Spawn Point bug fix

* Performance tuning and shader warning fixes

* Mono only build

* stash

* collider exception fix

* Struct of Arrays

* Chunk Data Tests Added

* Setter tests

* Logging and Input Refactoring

* Console improcements

* Refactor

* working

* Data refactor and queue fix

* Setter working

* Empty Collider Fix Part 3

* Update Split

* Fast Queue

* Block Hit working

* Place interaction added

* ReMesh working

* refactor

* Accessor allocation removed

* negative boundary chunk coords fixed

* Setter result

* refactor

* CI updated

* activation input removed

* input added back

* Folder Open Removed could cause trouble with CI

* cache fix

* Android free disk removed

* Report build summary

* Water shader added

* Reafctoring

* Noise preview

* Noise revert

* Water collider fix (#117)

* unity update

* new water shader added for local

* update noise preview button

* Water mesh collider removed

* Post processing changes

* Under water mesh changes

* minor fix

---------

Co-authored-by: Alexandre D. Roberge <[email protected]>
github-actions bot pushed a commit that referenced this pull request May 6, 2024
* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Close Release v1.1.X (#86)

* Release v1.1.0 (#77)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* Release v1.1.1 (#79)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* Release v1.1.2 (#82)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Release v1.1.3 (#83)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Samples Fixes (#84)

* Samples dependencies fixed

* readme updated

* grass below fix

* [skip ci] Readme Update & Version Bump

* [skip ci] Readme updated

* [skip ci] Readme update

* [skip ci] Readme Update

* Dependencies updated

* Priority scheduler (#96)

* Release v1.1.0 (#77)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Release v1.1.1 (#79)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* Release v1.1.2 (#82)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* Release v1.1.3 (#83)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Release v1.1.4 (#85)

* CanProcess & Processing

Separate scheduler flags added

* Distance fog and fixes (#76)

* Fog Enabled

* Y limits removed

* Dynamic fog distance

* Reclaim Issue Fixed

* Unity Package Build (#78)

* Moved to package

* package build and ci

* UPM step added (#81)

* package hot fix

* Samples Fixes (#84)

* Samples dependencies fixed

* readme updated

* grass below fix

* Unity updated

* Update README.md

* Update README.md

* priority queue added

* batch frame attempt

* V2 scheduler implemented

* Chunk Pool V2

* few errors fixed

* some what working the holes issue still exists

* Scheduler is now non-blocking

* exceptions resolved

* It's working !!!

* Cleanup

* Cleanup

* Few things renamed

* build fix (#97)

* Initial chunk generation removed (#98)

* Fixed scheduling edge cases (#99)

* Chunk pool reclaim fixed

more scheduling checks added

* local defines changed

* Update build.yml (#100)

windows 2019 revert

* Submeshing (#101)

* Scheduler Tick Rate change

tick rate set to 4, same as temp job allocation time

* Unity 2021.3.21f1

* Water block data added

* Graphy added to the demo

* Package updates

* Colored samples deleted

* Chunk data BFP removed

* MainMenu fixed

* Debug Data View Added

* HUD fixes

* Default draw distance set to 8

* Water generation done

* AO fix

* Water working

* Refactor 1

* Refactor 2

* Refactor 4

* Water AO

* Fixed typos in ReadMe (#104)

* Colliders (#111)

* Sand block added

* Refactoring

* Collider done

* New player controller for demo app (#114)

* working on unity 2022.3

* KCC

* working

* Sprinting done

* Cleanup

* Input fix

* Runtime API (#115)

* Updated to unity 2022.3.10

* runtime tools

* Debug UI added to git and Spawn Point bug fix

* Performance tuning and shader warning fixes

* Mono only build

* stash

* collider exception fix

* Struct of Arrays

* Chunk Data Tests Added

* Setter tests

* Logging and Input Refactoring

* Console improcements

* Refactor

* working

* Data refactor and queue fix

* Setter working

* Empty Collider Fix Part 3

* Update Split

* Fast Queue

* Block Hit working

* Place interaction added

* ReMesh working

* refactor

* Accessor allocation removed

* negative boundary chunk coords fixed

* Setter result

* refactor

* CI updated

* activation input removed

* input added back

* Folder Open Removed could cause trouble with CI

* cache fix

* Android free disk removed

* Report build summary

* Water shader added

* Reafctoring

* Noise preview

* Noise revert

* Water collider fix (#117)

* unity update

* new water shader added for local

* update noise preview button

* Water mesh collider removed

* Post processing changes

* Under water mesh changes

* minor fix

---------

Co-authored-by: Alexandre D. Roberge <[email protected]>
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.

1 participant