您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Displays FPS and Ping on the top-right corner of the page
- // ==UserScript==
- // @name FPS and Ping Display
- // @version 1.0
- // @description Displays FPS and Ping on the top-right corner of the page
- // @author hynap
- // @match *://*/*
- // @grant none
- // @namespace https://greasyfork.org/users/1381858
- // ==/UserScript==
- (function() {
- 'use strict';
- const statsDiv = document.createElement('div');
- statsDiv.style.position = 'fixed';
- statsDiv.style.top = '10px';
- statsDiv.style.right = '10px';
- statsDiv.style.zIndex = '10000';
- statsDiv.style.padding = '5px';
- statsDiv.style.backgroundColor = 'rgba(0, 0, 0, 0.7)';
- statsDiv.style.color = '#fff';
- statsDiv.style.fontSize = '14px';
- statsDiv.style.fontFamily = 'Arial, sans-serif';
- statsDiv.style.borderRadius = '5px';
- statsDiv.innerHTML = `0<br>0 ms`;
- document.body.appendChild(statsDiv);
- let lastFrameTime = performance.now();
- let frameCount = 0;
- let fps = 0;
- function updateFPS() {
- const now = performance.now();
- frameCount++;
- if (now - lastFrameTime >= 100) {
- fps = (frameCount / ((now - lastFrameTime) / 1000)).toFixed(2);
- lastFrameTime = now;
- frameCount = 0;
- }
- requestAnimationFrame(updateFPS);
- }
- function updatePing() {
- const startTime = performance.now();
- fetch(window.location.href, { method: 'HEAD' })
- .then(() => {
- const ping = (performance.now() - startTime).toFixed(2);
- statsDiv.innerHTML = `${fps}<br>${ping} ms`;
- })
- .catch(() => {
- statsDiv.innerHTML = `${fps}<br>error`;
- });
- }
- setInterval(updatePing, 100);
- requestAnimationFrame(updateFPS);
- })