Is it possible to get render FPS through stats service?

Hello! I was snooping in stats service in roblox and it has options for for example:
Getting physics FPS.
Getting all touching parts.
Getting ping.
And more.

I couldn’t find any way to get render fps, which I think should be there, because it can be displayed by
Shift + F5

I could write some complicated, bloaty function for calculating accurate FPS, but I don’t want to do that.

--Done for admin library, snakecase
admin_lib.get_fps = function(do_round: any?): number
	local run_service = game:GetService("RunService")

	local fps do
		if run_service:IsStudio() then
			fps = 1/run_service["Heartbeat"]:wait()
		else
			fps = 1/run_service["RenderStepped"]:wait()
		end
	end
	
	return do_round and admin_lib._round(fps) or fps
	--_round function is used for rounding with multiple decimal places
	--also some tenary.
end

This is pretty inaccurate way of getting fps, because Heartbeat and Renderstepped can and have delays. It works for general displaying of fps.

I want to write some more accurate FPS function, which doesn’t have bloaty counter, etc…
Any help appreciated! I hope you dont mind snakecase coding style too much…

2 Likes

i know this post is really old so you’ve probably found a solution but this will get your fps

game:GetService("Stats").Workspace.Heartbeat:GetValue()

and also on a side note this will get your ping

game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValue()
1 Like

Yeah I would probably remove this reply because this is something you can do in exploits, normal client/server lacks permission to use this service :smile: .

it works on the console in studio, that’s where i was testing it

edit: yeah i just tested it, doesn’t work for client/server rip, does on console tho

1 Like

I see, had no idea you could use it in studio haha.
Well anyways I will close this post, because this is no longer issue for me.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.