Subscribe to the current FPS value. The calling component re-renders only
when fps or isIdle actually change (at most once per refreshMs).
Outside an InteractiveFpsProvider returns the idle sentinel so
overlays can render harmlessly when no provider is mounted.
Subscribe to the current FPS value. The calling component re-renders only when
fpsorisIdleactually change (at most once perrefreshMs). Outside an InteractiveFpsProvider returns the idle sentinel so overlays can render harmlessly when no provider is mounted.