-
Notifications
You must be signed in to change notification settings - Fork 110
Open
Labels
bugSomething isn't workingSomething isn't working
Description
thread 'main' panicked at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/time.rs:930:23: cannot convert float seconds to Duration: value is either too big or NaN stack backtrace: 0: 0x30004515b0 - <unknown> 1: 0x30001572e0 - <unknown> 2: 0x30004511e4 - <unknown> 3: 0x3000451470 - <unknown> 4: 0x3000450f20 - <unknown> 5: 0x300047b508 - <unknown> 6: 0x300047b480 - <unknown> 7: 0x300047c784 - <unknown> 8: 0x30000c0c40 - <unknown> 9: 0x30000c47ac - <unknown> 10: 0x3000327290 - <unknown> 11: 0x300033fe08 - <unknown> 12: 0x30005c491c - <unknown> 13: 0x30005bf850 - <unknown> 14: 0x30005bfc34 - <unknown> 15: 0x30005c06d4 - <unknown> 16: 0x3000338770 - <unknown> 17: 0x30001ab068 - <unknown> 18: 0x30001aeb24 - <unknown> 19: 0x30001ae6b8 - <unknown> 20: 0x30001882e0 - <unknown> 21: 0x300018e0dc - <unknown> 22: 0x30000e5e2c - <unknown> 23: 0x30000e98c4 - <unknown> 24: 0x30000f00a8 - <unknown> 25: 0x300019d690 - <unknown> 26: 0x30001a3088 - <unknown> 27: 0x30001b13c0 - <unknown> 28: 0x30001a19e8 - <unknown> 29: 0x747bc284c4 - <unknown> 30: 0x747bc28598 - __libc_start_main 31: 0x30000e58b0 - <unknown> 32: 0x0 - <unknown>
Script :
local renderStepped = game:GetService("RunService").RenderStepped
local function step()
renderStepped:Wait()
local sum = 0
for _ = 1, 5 do
sum = sum + 1 / renderStepped:Wait()
end
return math.round(sum / 5)
end
setfpscap(60)
local step60 = step()
setfpscap(0)
local step0 = step()
print( step60 .. "fps @60 • " .. step0 .. "fps @0")
RunService implementation :
return (function(Roblox, Registry)
local Task = require("@lune/task")
local function makeEvent()
local connections = {}
local waiting = {}
return {
Connect = function(self, fn)
table.insert(connections, fn)
return {
Disconnect = function()
for i, f in ipairs(connections) do
if f == fn then
table.remove(connections, i)
break
end
end
end,
}
end,
Fire = function(self, ...)
for _, thread in ipairs(waiting) do
Task.spawn(thread, ...)
end
table.clear(waiting)
for _, fn in ipairs(connections) do
fn(...)
end
end,
Wait = function(self)
local thread = coroutine.running()
table.insert(waiting, function(...)
coroutine.resume(thread, ...)
end)
return coroutine.yield()
end,
}
end
local runServiceEvents = {
RenderStepped = makeEvent(),
Heartbeat = makeEvent(),
Stepped = makeEvent(),
PreSimulation = makeEvent(),
PostSimulation = makeEvent(),
PreRender = makeEvent(),
Pause = makeEvent(),
Unpause = makeEvent(),
}
for name, event in pairs(runServiceEvents) do
Roblox.implementProperty("RunService", name, function()
return event
end)
end
Task.spawn(function()
while true do
local dt = 1 / Registry.FpsCap
lastFps = 1 / dt
runServiceEvents.PreSimulation:Fire(dt)
runServiceEvents.Stepped:Fire(dt, os.clock())
runServiceEvents.PostSimulation:Fire(dt)
runServiceEvents.Heartbeat:Fire(dt)
runServiceEvents.PreRender:Fire(dt)
runServiceEvents.RenderStepped:Fire(dt)
Task.wait(dt)
end
end)
end)
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working