How to Calculate Refresh Rate

Refresh Rate Calculator: Hz to ms & Bandwidth Guide body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; max-width: 800px; margin: 0 auto; padding: 20px; } h1 { color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px; } h2 { color: #2980b9; margin-top: 30px; } .calculator-container { background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 25px; margin: 20px 0; box-shadow: 0 4px 6px rgba(0,0,0,0.05); } .calc-section { margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid #dee2e6; } .calc-section:last-child { border-bottom: none; margin-bottom: 0; } .input-group { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; font-weight: 600; color: #555; } input[type="number"], select { width: 100%; padding: 10px; border: 1px solid #ced4da; border-radius: 4px; font-size: 16px; box-sizing: border-box; /* Ensures padding doesn't affect width */ } button.calc-btn { background-color: #3498db; color: white; border: none; padding: 12px 20px; font-size: 16px; border-radius: 4px; cursor: pointer; width: 100%; margin-top: 10px; transition: background-color 0.2s; } button.calc-btn:hover { background-color: #2980b9; } .result-box { background-color: #e8f4fc; padding: 15px; border-radius: 4px; margin-top: 20px; border-left: 5px solid #3498db; } .result-label { font-size: 14px; color: #7f8c8d; text-transform: uppercase; letter-spacing: 0.5px; } .result-value { font-size: 24px; font-weight: bold; color: #2c3e50; } .formula-box { background-color: #fff3cd; border: 1px solid #ffeeba; padding: 15px; margin: 20px 0; border-radius: 4px; font-family: monospace; color: #856404; } .note { font-size: 0.9em; color: #666; margin-top: 10px; } @media (min-width: 600px) { .row { display: flex; gap: 20px; } .col { flex: 1; } }

How to Calculate Refresh Rate (Hz) & Frame Times

Whether you are a competitive gamer optimizing for low latency or a tech enthusiast setting up a home theater, understanding the relationship between Refresh Rate (Hz), Frame Rate (FPS), and Frame Time (ms) is crucial. Use the calculators below to convert between time and frequency, and to estimate the bandwidth required for high-refresh-rate displays.

1. Hz vs. Frame Time Converter

Convert between the time it takes to render a frame (milliseconds) and the frequency (Hertz/FPS).

Conversion Result

2. Display Bandwidth Calculator

Calculate the raw data rate required to drive a specific resolution and refresh rate.

8-bit (Standard) 10-bit (HDR) 12-bit (Pro)
Estimated Data Rate
0.00 Gbps

The Physics of Refresh Rate

Refresh rate is a measure of frequency, defined as the number of times a new image is drawn on the screen per second. The unit of measurement is Hertz (Hz).

The mathematical relationship between the period (time between frames) and the frequency (refresh rate) is inverse. If you know how long a single frame takes to render (Frame Time), you can calculate the theoretical maximum refresh rate required to display those frames without dropping any.

Frequency (Hz) = 1000 / Frame Time (ms)
Frame Time (ms) = 1000 / Frequency (Hz)

Example Calculation

If your graphics card is rendering a game at a frame time of 6.94 milliseconds, how do you calculate the corresponding refresh rate?

  1. Take the constant 1000 (milliseconds in a second).
  2. Divide by the frame time: 1000 / 6.94.
  3. Result: approximately 144 Hz.

This means you need a 144Hz monitor to fully see every frame generated every 6.94ms.

Data Rate and Bandwidth

Calculating refresh rate is also vital when determining if your HDMI or DisplayPort cable can handle the signal. Higher refresh rates require significantly more bandwidth.

The raw bandwidth formula is essentially:

Bandwidth = (Width × Height) × Refresh Rate × (Color Depth × 3)

Note: Real-world transmission requires "blanking intervals" (timing overhead), so the actual signal bandwidth is usually 15-20% higher than the raw pixel calculation. Our calculator above includes a standard overhead estimate.

Common Refresh Rates & Frame Times

  • 60 Hz: 16.67 ms per frame (Standard office monitors)
  • 120 Hz: 8.33 ms per frame (Entry-level gaming / modern TVs)
  • 144 Hz: 6.94 ms per frame (Standard PC gaming)
  • 240 Hz: 4.17 ms per frame (Competitive esports)
  • 360 Hz: 2.78 ms per frame (Pro-tier esports)
function convertMsToHz() { var msInput = document.getElementById("inputMs").value; var hzInput = document.getElementById("inputHz"); var resultBox = document.getElementById("converterResult"); var output = document.getElementById("converterOutput"); var explanation = document.getElementById("converterExplanation"); if (msInput && msInput > 0) { // Calculate Hz: 1000 / ms var hz = 1000 / parseFloat(msInput); // Update the Hz input purely for visual, but prevent circular loop logic // We won't update the inputHz value directly to allow user typing, // instead we show result in the box below. output.innerHTML = hz.toFixed(2) + " Hz"; explanation.innerHTML = "A frame time of " + msInput + "ms allows for " + hz.toFixed(0) + " frames per second."; resultBox.style.display = "block"; } else { resultBox.style.display = "none"; } } function convertHzToMs() { var hzInput = document.getElementById("inputHz").value; var msInput = document.getElementById("inputMs"); var resultBox = document.getElementById("converterResult"); var output = document.getElementById("converterOutput"); var explanation = document.getElementById("converterExplanation"); if (hzInput && hzInput > 0) { // Calculate Ms: 1000 / Hz var ms = 1000 / parseFloat(hzInput); output.innerHTML = ms.toFixed(2) + " ms"; explanation.innerHTML = "To achieve " + hzInput + " Hz, a new frame must be rendered every " + ms.toFixed(2) + " milliseconds."; resultBox.style.display = "block"; } else { resultBox.style.display = "none"; } } function calculateBandwidth() { var width = parseInt(document.getElementById("resWidth").value); var height = parseInt(document.getElementById("resHeight").value); var hz = parseInt(document.getElementById("targetRefreshRate").value); var depth = parseInt(document.getElementById("colorDepth").value); var resultBox = document.getElementById("bandwidthResult"); var output = document.getElementById("gbpsOutput"); var cableRec = document.getElementById("cableRec"); if (!width || !height || !hz || !depth) { alert("Please fill in all resolution and refresh rate fields."); return; } // Calculation Logic // Total Pixels var totalPixels = width * height; // Bits per pixel (3 channels: R, G, B) var bpp = depth * 3; // Raw bits per second var rawBitsPerSecond = totalPixels * hz * bpp; // Add Overhead (Blanking intervals usually add ~20% for CVT-RB or standard timings) // This calculates the TMDS/Line rate roughly needed. var totalBandwidthBits = rawBitsPerSecond * 1.20; // Convert to Gbps (1e9 bits) var bandwidthGbps = totalBandwidthBits / 1000000000; output.innerHTML = bandwidthGbps.toFixed(2) + " Gbps"; // Cable Recommendations logic var recommendation = ""; if (bandwidthGbps < 10.2) { recommendation = "Compatible with HDMI 1.4 or DisplayPort 1.2"; } else if (bandwidthGbps < 18) { recommendation = "Requires HDMI 2.0 or DisplayPort 1.2"; } else if (bandwidthGbps < 32.4) { recommendation = "Requires DisplayPort 1.4 (or HDMI 2.1)"; } else if (bandwidthGbps < 48) { recommendation = "Requires HDMI 2.1 or DisplayPort 2.0"; } else { recommendation = "Requires DisplayPort 2.0 (UHBR 13.5+) or DSC (Compression)"; } cableRec.innerHTML = "Cable Requirement: " + recommendation; resultBox.style.display = "block"; }

Leave a Comment