Commit Graph

89 Commits

Author SHA1 Message Date
mafiesto4 d1f6440a76 Fix stack overflow on mac when cooking game with too small stack size 2026-03-26 10:55:11 +01:00
mafiesto4 d1557e5292 Add support for running engine with a single-thread only (content, jobs, drawing, physics) 2026-02-16 16:10:31 +01:00
mafiesto4 3d206e06d0 Fix ThreadLocal when thread count limit is low on a target platform or if it's only main-thread 2026-02-16 11:59:12 +01:00
mafiesto4 f12ad5c874 Add **Web platform with Emscripten** 2026-02-14 00:07:21 +01:00
mafiesto4 bd300651ec Fix Job System regression bug with incorrect initialization of job context 2026-02-09 15:04:19 +01:00
mafiesto4 a2b0d0714e Add more docs about new ConcurrentDictionary 2026-02-09 15:03:54 +01:00
mafiesto4 a855b17cc0 Add new collection type ConcurrentDictionary
#3917 #3827
2026-02-07 00:44:51 +01:00
mafiesto4 4a7f1a5fde Fix various issues 2026-02-06 10:37:52 +01:00
mafiesto4 c18b9163ca Refactor Job System to reduce mutex usage with more atomic operations
#3917
2026-02-06 09:11:12 +01:00
mafiesto4 d18c245730 Fix rare async task crash when it's canceled while dequeuing 2026-01-30 13:14:36 +01:00
mafiesto4 c8839b8587 Add support for Cooperative Suspend when running on Mono
Informs mono runtime that Job System, Thread Pool or Content Load threads can wait when they are going idle between tasks.
2025-11-26 00:22:48 -08:00
mafiesto4 3888c4ba21 Fix async tasks destruction to wait on the dependencies in chain 2025-11-13 22:53:52 +01:00
mafiesto4 3e363c8275 Remove ConcurrentSystemLocker and use ReadWriteLock instead of better threading synchronization 2025-09-04 14:48:52 +02:00
mafiesto4 99323c1d2f Add customizable per-platform affinity for content and pool threads 2025-07-29 10:41:41 +02:00
mafiesto4 a00ffe6ec3 Add Platform::Yield 2025-07-28 18:33:05 +02:00
mafiesto4 3e0c085bf3 Add error log when adding/removign actors during rendering or when ConcurrentSystemLocker deadlocks 2025-07-15 12:34:40 +02:00
mafiesto4 78d519cb9a Fix ConcurrentSystemLocker to have exclusive lock as an option 2025-06-29 19:16:41 +02:00
mafiesto4 45e82d21f4 Fix ConcurrentSystemLocker to guard for a single writer at once 2025-06-26 19:51:06 +02:00
mafiesto4 2e10d776e9 Optimize updating actor rendering entry with better thread locking that support async writes on actor update 2025-06-19 14:04:06 +02:00
mafiesto4 68dce7e4dd Merge remote-tracking branch 'origin/master' into 1.11 2025-06-18 22:46:10 +02:00
mafiesto4 6479a3d3c6 Fix log spam in task when waiting for task to end 2025-06-18 22:41:42 +02:00
mafiesto4 e9835766bc Add red color to Tracy profiler zones that cause CPU waiting to improve profiling 2025-06-11 14:56:43 +02:00
mafiesto4 cd637e8a7a Add more memory profiling coverage 2025-06-06 14:38:22 +02:00
mafiesto4 f462a2187f Merge branch 'master' into 1.11 2025-06-05 18:03:17 +02:00
mafiesto4 c639a3103c Add memory profiling events to the main areas of the engine 2025-05-22 04:47:01 +02:00
Wiktor Żurawik 6be8158209 Fix timeout calculation in Task::Wait 2025-05-13 23:10:57 +02:00
mafiesto4 d77024bbf1 Fix crash when existing engine while content streaming is active 2025-04-22 16:16:46 +02:00
mafiesto4 9c3fd052cd Remove copyright year from source files and update to 2025 2025-04-07 19:22:21 +02:00
mafiesto4 2ab9adab24 Merge remote-tracking branch 'origin/master' into 1.10 2025-02-24 23:27:56 +01:00
mafiesto4 060bc0aaf8 Fix crash in animations system when assets gets loading/unloaded while async jobs are active
#2974
2025-02-18 22:30:49 +01:00
mafiesto4 1e262b69cc Add Task::WaitAll with a span of tasks and wrap around profiler macro 2025-01-03 01:05:56 +01:00
mafiesto4 fee0ab74ff Update old doc comments 2024-12-28 21:31:21 +01:00
mafiesto4 da203352fd Refactor old code documentation 2024-09-24 18:20:12 +02:00
mafiesto4 b545d8800c Optimize job system memory allocations 2024-06-24 23:19:01 +02:00
mafiesto4 3bbaa8dad0 Remove unused job system stats and concurrent queue code 2024-06-24 19:02:38 +02:00
mafiesto4 861d8a683f Add JobSystem::Dispatch that accepts dependent jobs that needs to be completed before 2024-06-24 13:12:48 +02:00
mafiesto4 2773949197 Optimize wait signal in Job System to wake waiting threads only when job batch ends 2024-06-22 09:58:20 +02:00
mafiesto4 515ee96a31 Fix compilation regression 2024-04-22 19:10:06 +02:00
mafiesto4 32b15f90ab Minor improvements 2024-04-22 18:10:58 +02:00
mafiesto4 9c2c02c1cf Fix various issues found with thread sanitizer on macOS 2024-04-13 19:20:49 +02:00
mafiesto4 859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
mafiesto4 e255778c07 Add profiler event to task wait method 2024-02-20 12:59:00 +01:00
mafiesto4 f9ca69d8a9 Disable dynamic buckets in ThreadLocal on non-Desktop platforms that use fixed set of thread count 2024-02-08 10:47:55 +01:00
mafiesto4 082768d08c Refactor ThreadLocal when running on hardware with more cores than PLATFORM_THREADS_LIMIT 2024-02-07 23:39:02 +01:00
mafiesto4 d6dc1f9998 Various minor tweaks 2023-12-03 14:09:23 +01:00
mafiesto4 7f87e9794b Fix job system buffer allocation data 2023-11-29 19:12:58 +01:00
mafiesto4 b960600102 Optimize scenes loading with Job System 2023-10-01 10:55:01 +02:00
mafiesto4 91c017713c Merge remote-tracking branch 'origin/master' into 1.6 2023-04-13 12:12:33 +02:00
mafiesto4 0c167f38b7 Add TaskGraphSystem.RemoveDependency and automatically cleanup dependencies on system destroy 2023-04-05 22:43:05 +02:00
mafiesto4 510fc443e8 Refactor CoreCLR runtime into explicit dotnet api instead of mocking mono api
Required by platforms that will use mono under the hood for .Net 7
New `USE_CSHARP` define for C# ability
Engine doesn't use `mono_*` apis directly but via MCore/MClass/MMethod/ apis
2023-03-27 17:29:42 +02:00