This is “Scheduler”, a performance measurement tool for non-ecs, built entirely with Vide & Pebble for the UI, which also used by Jabby. Its heavily inspired by Jabby which is made for ecs like JECS & ECR.
This profiler provides developers with a clear and interactive, this might can be alternative of microprofiler. If your using ecs, this tool might not recommended for you, you should use Jabby instead of this. microprofiler from roblox is still the best for measuring performance due its much more details
-- ## Universal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local scheduler = require(ReplicatedStorage:WaitForChild("scheduler"))
local begin_profiler, end_profiler = scheduler.profiler.Begin, scheduler.profiler.End
-- ## For Server
local server = scheduler.server()
server.init(scheduler.profiler)
-- note: use server.allow(player) to grant permission to use scheduler.
-- test, 60fps 16.66ms x 100 = ~1.66s
RunService.PostSimulation:Connect(function()
begin_profiler("Server.PostSimulation.100_Frames")
for _=1,1e2 do
task.wait()
end
end_profiler("Server.PostSimulation.100_Frames")
end)
-- ## For Client
local client = scheduler.client()
client.init()
client.bind_to(Enum.KeyCode.F3) -- bind to F3 keycode to toggle scheduler ui
-- note: you able to use client.toggle_widget() to open the ui manually instead of .bind_to().
-- test, 60fps 16.66ms x 100 = ~1.66s
RunService.PostSimulation:Connect(function()
begin_profiler("Client.PostSimulation.100_Frames")
for _=1,1e2 do
task.wait()
end
end_profiler("Client.PostSimulation.100_Frames")
end)
Playground
You can tests it through this link to test it or download .rbxl file from releases.
I’ve never downloaded something using wally and implemented it in my game, sorry for the extra work, but could you give me a video tutorial on YouTube or tell me how to work with this, I’m so confused.
make sure you have installed wally in ur device, type wally init on your project directory using cmd, then you should have wally.toml file on ur project. so thats how you setup wally.
to install a packages with wally, you have to add the package address in wally.toml under [dependencies], for example:
[package]
...
private = true -- for private projects to prevent being published accidently
[dependencies]
-- add here..
scheduler = "imezx/scheduler@0.1.1"
then run wally install with cmd every time you added or changes the dependencies.
yeah you can use without wally by downloading the .rbxm file that provided on releases page (github), but i havent add .rbxm file for version 0.1.1 or upper.
you can find the LocalScript (Client) under StarterPlayerScripts and the Script (Server) is under ServerScriptService, while the library is under ReplicatedStorage.
To test it, you can just play it directly on the studio and then press F3 key with your keyboard when your loaded in.