Bloxd FPS Boost

Disables heavy visual effects to improve FPS

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(Tôi đã có Trình quản lý tập lệnh người dùng, hãy cài đặt nó!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Bloxd FPS Boost
// @namespace    bloxd-fps-boost
// @version      1.0
// @description  Disables heavy visual effects to improve FPS
// @match        *://bloxd.io/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    console.log("Bloxd FPS Boost Loaded");

    // Disable blur / filters
    const style = document.createElement("style");
    style.innerHTML = `
        * {
            backdrop-filter: none !important;
            filter: none !important;
            box-shadow: none !important;
        }

        canvas {
            image-rendering: pixelated !important;
        }

        .particles, .particle, .effects, .shadows {
            display: none !important;
        }
    `;
    document.head.appendChild(style);

    // Limit rendering resolution
    const reduceCanvasResolution = () => {
        const canvases = document.querySelectorAll("canvas");

        canvases.forEach(canvas => {
            const scale = 0.75; // reduce resolution
            canvas.width = canvas.clientWidth * scale;
            canvas.height = canvas.clientHeight * scale;
        });
    };

    setInterval(reduceCanvasResolution, 2000);

    // Pause hidden animations
    document.addEventListener("visibilitychange", () => {
        if (document.hidden) {
            console.log("Tab hidden: reducing load");
        }
    });

})();