Lua performance profiling API

It’s up on gametest2. Try downloading studio and running the code pasted above.
Press ctrl+f6 to bring up the microprofiler.

Full documentation and examples coming soon.

2 Likes

Can you make it pop more. I want them to be glaringly obvious and unmistakable. Perhaps a bigger Y axis and a neon color or something?

1 Like

UI hasn’t been changed at all. We’re working on a in-studio profiling tool that will be backwards compatible with this.

1 Like

Code’s live and debug.profilebegin will be enabled monday.

While you’re waiting for that enjoy this 3 part video tutorial on using the microprofiler in Roblox studio.

Narrated by yours truly.

16 Likes

Nice videos! I think it’d be great if we could also have a wiki page for the profiler that included a list of common issues by name (e.g. “Physics”, “Present”, etc) and what they’re caused by (some may not be as self-explanatory as those two).

Yep would like to do that as part of the documentation on the wiki (which is a work in progress).

3 Likes

inner screaming DADDY

This is amazing. Now it’s so much easier to track what my changes do in-game. Before I had to spend like 10 seconds each time zooming in and in until I found a specific portion of a script. This is so useful!

1 Like

Is this related: What's up with RightClicking being reported as taking a lot of Render/CPU time?

Probably some corescript or one of your own scripts running. Whats the bar taking longer than a frame in the paused view?

This is kind of a picky bug, but its been around for awhile now, so I figured I should report this.
If you try to right click zoom on a profile frame that took 0.000 ms, ROBLOX Studio will hang itself, probably due to some divide by zero problem.

This can be replicated pretty easily if you call debug.profilebegin(“test”) and then immediately call debug.profileend() in a while loop.

great, I’ll take a look

FYI: it’s live

6 Likes

I can’t get this to happen, using this script:

while true do
   debug.profilebegin("test")
   debug.profileend()
   wait()
end

Mmmm alright, maybe my description wasn’t a good repro.
But I can reproduce it if I zoom out and try to right click on this lime green bar near the detailed view bar.

Can you post the code that makes this happen?

Yeah, finding that “Detailed View” and rightclicking the green “Draw(ing?) Graph” line (0.000ms) crashes.

1 Like

It wasn’t code, it was some internal profile.
The point is, attempting to click on a profile bar that starts and ends on the same nanosecond(?) causes ROBLOX Studio to hang.

Will fix next week-ish.

3 Likes

Updated wiki with some info.

6 Likes