FPS Display Overlay

Shows a real-time FPS counter in the corner of any site

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         FPS Display Overlay
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Shows a real-time FPS counter in the corner of any site
// @author       Skibidi555
// @match        *://*/*
// @grant        none
// @license      No Copying
// ==/UserScript==

(function () {
    'use strict';

    // Create FPS display box
    const fpsBox = document.createElement("div");
    fpsBox.style.position = "fixed";
    fpsBox.style.top = "20px";
    fpsBox.style.right = "20px";
    fpsBox.style.background = "#28a745";
    fpsBox.style.color = "white";
    fpsBox.style.padding = "10px 15px";
    fpsBox.style.borderRadius = "8px";
    fpsBox.style.fontFamily = "Arial, sans-serif";
    fpsBox.style.fontSize = "16px";
    fpsBox.style.zIndex = "999999";
    fpsBox.style.boxShadow = "0px 0px 10px rgba(0,0,0,0.3)";
    fpsBox.textContent = "FPS: …";
    document.body.appendChild(fpsBox);

    // FPS logic
    let lastFrame = performance.now();
    let frameCount = 0;
    let lastSecond = performance.now();

    function loop() {
        const now = performance.now();
        frameCount++;

        // Every 1 second, update FPS
        if (now - lastSecond >= 1000) {
            fpsBox.textContent = "FPS: " + frameCount;
            frameCount = 0;
            lastSecond = now;
        }

        lastFrame = now;
        requestAnimationFrame(loop);
    }

    requestAnimationFrame(loop);

})();