shadowndacorner / Unity-Multithreaded-Job-System
Licence: MIT license
A multithreaded job system for Unity3d
Stars: ✭ 23
Programming Languages
C#
18002 projects
Projects that are alternatives of or similar to Unity-Multithreaded-Job-System
rapp
Cross-platform entry point library
Stars: ✭ 57 (+147.83%)
Mutual labels: job-scheduler, multithreading
Taskscheduler
Cross-platform, fiber-based, multi-threaded task scheduler designed for video games.
Stars: ✭ 402 (+1647.83%)
Mutual labels: job-scheduler, multithreading
Fiber Job System
Multi-Threaded Job System using Fibers
Stars: ✭ 121 (+426.09%)
Mutual labels: job-scheduler, multithreading
iocp-delphi
Windows I/O Completion Port wrapper class for Delphi and Free Pascal
Stars: ✭ 47 (+104.35%)
Mutual labels: multithreading
nest-queue
Queue manager for NestJS Framework for Redis (via bull package)
Stars: ✭ 69 (+200%)
Mutual labels: job-scheduler
TuubesCore
Scalable server engine for voxel / cubic games
Stars: ✭ 48 (+108.7%)
Mutual labels: multithreading
Simple-Incremental-Search-Tool
Simple web frontend to an elasticsearch database made for local files indexing
Stars: ✭ 19 (-17.39%)
Mutual labels: multithreading
SQLServerTools
This repo is the home of various SQL-Server-Tools
Stars: ✭ 28 (+21.74%)
Mutual labels: job-scheduler
tfprof
Profiling Taskflow Programs through Visualization
Stars: ✭ 36 (+56.52%)
Mutual labels: multithreading
ipub-messaging
Messaging system for communication between classes / layers in delphi
Stars: ✭ 46 (+100%)
Mutual labels: multithreading
GroundGrowing
Open Source Unity3d Planetary Terrain Editor Extension with incremental background updates via multithreading
Stars: ✭ 66 (+186.96%)
Mutual labels: multithreading
RASM
3D Ray-Tracing WebGPU Game Engine Written in Rust WebAssembly.
Stars: ✭ 20 (-13.04%)
Mutual labels: multithreading
Backgroundable Android
Collection of stock apps and mechanisms, which might affect background tasks and scheduled alarms.
Stars: ✭ 247 (+973.91%)
Mutual labels: job-scheduler
AIO
Coroutine-based multithreading library for Delphi
Stars: ✭ 99 (+330.43%)
Mutual labels: multithreading
This is a very basic multithreaded job system for Unity with a simple task scheduler, where each worker thread has its own local queue to try to avoid contention. For example usage as a means for natively multithreading a component's Update, look at Sample/TestThread.cs, it's pretty well commented. I made this as a quick exercise to see how much effort would be involved in such a system. I might keep working on it, I might not. Architecturally, this uses a lockful (if that's a term?) work-stealing job system with n-1 workers (where n is processor count). While jobs are running, the main thread tries to steal background work itself if it doesn't have anything queued to run. In the future, I'd like to implement more of the ideas from Naughty Dog's GDC 2015 talk, such as waiting via atomic counters and scheduling jobs from within jobs. But I'd say this is certainly a nice start. It would also be very nice to ensure that each thread is locked to a processor core, but .NET doesn't provide any facilities with which to do this, so it would require native code. Which wouldn't be complicated to implement, however it would lose its ability to easily be deployed cross platform, as each platform and processor architecture would require a precompiled shared library.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].