Ultimate FPS Booster

Boosts the frame rate of websites to 200 FPS and no input delay

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name        Ultimate FPS Booster
// @namespace   Violentmonkey Scripts
// @match       *://*/*
// @grant       none
// @version     1.3
// @author      Your Name
// @description Boosts the frame rate of websites to 200 FPS and no input delay
// ==/UserScript==

(function() {
    'use strict';

    // List of CSS properties to modify
    const propertiesToModify = [
        'animation-duration',
        'transition-duration'
    ];

    // Boost factor (e.g., 2.0 for a 200% boost)
    const boostFactor = 2.0;

    // Function to modify CSS properties
    function modifyCSSProperty(property, value) {
        if (value.endsWith('s')) {
            const duration = parseFloat(value);
            const boostedDuration = duration * boostFactor;
            return boostedDuration + 's';
        }
        return value;
    }

    // Function to modify CSS styles
    function modifyCSSStyles(styles) {
        for (let i = 0; i < styles.length; i++) {
            const style = styles[i];
            const property = style.propertyName;
            const value = style.value;

            if (propertiesToModify.includes(property)) {
                const boostedValue = modifyCSSProperty(property, value);
                style.value = boostedValue;
            }
        }
    }

    // Observe DOM changes
    const observer = new MutationObserver((mutations) => {
        mutations.forEach((mutation) => {
            if (mutation.type === 'attributes') {
                const target = mutation.target;
                if (target.nodeType === Node.ELEMENT_NODE) {
                    const computedStyles = window.getComputedStyle(target);
                    modifyCSSStyles(computedStyles);
                }
            }
        });
    });

    // Start observing the entire document
    observer.observe(document, {
        attributes: true,
        subtree: true
    });
})();