TaskScheduler documentation is incorrect

The Task Scheduler documentation has a section on SchedulerPriority, which is incorrect/outdated. The order of tasks listed on the webpage are completely different than the order of events in the engine nowadays. For example, Stepped in-engine runs before everything in that list, and RenderStepped runs last.

As such, I imagine there may be other inaccuracies that I have not looked into yet. It also doesn’t contain newer scheduler items, such as any of the task library functions (spawn, defer, delay, etc.)

Knowing the order of events is important for gameplay programming, and it would be great to see this updated!

Page URL: https://create.roblox.com/docs/optimization/microprofiler/task-scheduler#scheduler-priority

7 Likes

I think some assumptions I made were wrong. Looks like the ordering might be more correct than I initially thought! Regardless, the page could use some updates to keep it current.

5 Likes

Just confirming the documentation team was notified to this and we’re looking to get this updated or clarified further. Thanks again for moving this over from Twitter so we can properly track it.

5 Likes

The documentation is right. The code you were testing with provides incorrect results.

task.wait() resumes every Heartbeat and time() updates every Stepped, so using them to determine the order of events will provide inaccurate results.

I edited your repro code to provide more accurate results:
Github - Task Scheduler Test

These are the results you should see:
(in time | difference | event format)

image

2 Likes