WebSocket.bufferedAmount
to increase endlessly.WebSocket.onmessage
seems to run very late in that situation, I wonder if both this and the earlier buffering issue are quirks caused by how Firefox handles networking events internally.setInterval
is unreliable on Firefox. It's not meant to be accurate in any browser, but the only other alternative is meant for animation, not networking.Math.random()
on top of two timeouts with the magic number of 15.3ms.CanvasRenderingContext2D
sometimes draws squares not according to spec. Lines are supposed to be centered to half-pixels, but Firefox doesn't care. But only sometimes.MozTogglePictureInPicture
, which is barely documented and implied to be "chrome-only" (not Google Chrome, but XUL Chrome). But oops, content JS can listen for it too.MozStopPictureInPicture
, which isn't even documented at all and is yet another leaky implementation detail. And opposed to the toggle event, this one only fires if the user exits PiP from the video element itself - not when the PiP window gets closed!isTrusted
property ("did the user actually click on the button, or is the page lying?").
I want Firefox to succeed, so this all hurts to see.
I'm trying to keep this as functional as I can in FF.
I also know that Mozilla is in a pickle in 2017 2020 2024 CURRENT YEAR
,
and thus other things are prioritized over this (hopefully the Mozilla graveyard
won't grow much more). Maybe someone at Mozilla ends up using this
as a TODO list, or maybe Servo ends up magically catching up.
But for now, if you want to use this, please be aware of that list of bugs.
Maybe open the page in another browser and install it as a PWA or something, idk.
This tool is just a basic ping graph, measuring the latency and packet loss of your internet connection. Compared to something like Speedtest by Ookla, which is ideal for measuring how big your internet pipe is ("how fast can I download / upload?"), this tool is great for measuring how stable your internet pipe is ("can I play games / join voicechat / watch streams without problems?").
It uses a handful of servers around you to measure latency via TCP (time delay), and the server this website is hosted on to measure packet loss via UDP (connection stability).
+
and -
to zoom in and out, 0
to reset zoom.P
or double-click to toggle overlay mode.P
or double-click to toggle overlay mode.b buf
: Bytes Buffered (sending)
PPS
: Pings Per Second (network)
FPS
: Frames Per Second (display)
ms
: Milliseconds (1/1000 of a second)
TCP
: Reliable internet (web data)
UDP
: Low latency internet (game data)
boundary
implementation.
free-time hobby project hotglued together with <3 and π°Hydrationβ’,
by jade
Firefox doesn't support the Picture in Picture WebAPI - see the settings for more info about this and other possible issues.
Right-click the button below and enable Picture in Picture yourself.
(If the resulting window is just black: Restart your browser.)
Firefox also doesn't let PingGraph know how large the overlay is.
You can thus change the zoom level of the overlay here.
Your browser has cached different versions of some files.
You can try reloading the page and clearing the caches. This should update all file versions.
Alternatively, you can try using PingGraph, but it might be buggy.