Finishes the frame. This isn’t strictly necessary for some kinds of applications but a pretty normal thing to track in games.
Registers a thread with the profiler API(s). This is usually setting a name for the thread. Two variants:
Opens a scope. Two variants:
Proc macro for creating a scope around the function, using the name of the function for the scope’s name