How do I measure performance?

Hello everyone! I hope you are all feeling great today!

  1. What do you want to achieve?
    I want to test accurately the performance of my scripts. Yes, I know we have the MicroProfiler and the Script Performance Tab. Which are really hard to understand them on your own.

  1. What is the issue?
    I am running every frame a function that takes 0.000031 seconds (31 microseconds) to run. How do I know? Well I benchmarked it myself using os.clock() and calling the function repetitive times. Anyways, the issue is that I am unable to measure performance even using the MicroProfiler, like look at this:

    I set a tag using debug.profilebegin(“Huge Update Mouse Label Should Pop Up Here!”) and are you able to find it? Of course not, if you do then tell me cuz I might need glasses. You might wonder why I don’t scroll in/out? Well because I think the MicroProfiler is bugged, I used to move my mouse wheel and it will zoom in and out, now it doesn’t at all. It does nothing.


  1. What solutions have you tried so far?
    I tried using the debug.profilebegin function to prove you guys that the function I am running every frame takes 0.000031 seconds but as I said previously, is really hard to read it from.

    I also tried using the Script Performance Tab, this one shows an activity of 2.5% for such piece of code only. (The code raycast every frame 500 studs long and puts the content it got into a table). I am amazed since a lot of people say that a script activity of < 3% is good. I don’t know if that is actually accurate or what. Roblox doesn’t even provide a documentation for the Script Performance Tab, I have searched a lot and nothing pops up, just some dev-forum posts that talks about the script activity being good below 3.

Any help would be appreciated! Thank you.

If no one knows about the previous question, can I at least know what’s the black side of the MicroProfiler?

The black side changes in size, sometimes even cover the whole thing when I move my camera around.

The black part is just where the MicroProfiler unloads all the function times and stuff

all the stuff in this image unloads to save memory after a while and the black part just shows you where it process starts

image

2 Likes