1 hour ago · 7 min read1346 words · Tech · hide · 0 comments

After part 9 we were done with the thread scheduling part of our data-driven tick system and getting ready to move on to the data storage part of the problem. But in the interval I got to do some performance audits on mobile and ran into some interesting results that I feel I should share before we go on. Scheduling tick tasks In the past articles we focused on how to turn our list of tick updates into a task graph, but we did not go into the specifics of how to schedule and execute them. This was a conscious choice from me, as the details of a task scheduler would be out of scope for this article series. Besides, there are already good parallel execution libraries out there that would do a good job1, and chances are your game engine also comes with a perfectly serviceable task system. Assuming your task system has a scheduler.enqueue() and a scheduler.wait_all() function, running the graph would roughly equate to: Set an atomic wait count on each task equal to its predecessor count…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.