mirror of
https://github.com/godotengine/issue-stats.git
synced 2026-01-01 01:48:12 +03:00
Frappe Charts is broken on recent browsers, and upstream is inactive. This changes rendering from stacked horizontal bar graphs to donut charts, as stacked horizontal bar graphs aren't available in Chart.js to my knowledge.
714 lines
27 KiB
HTML
714 lines
27 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="author" content="Godot Engine">
|
|
<meta name="description"
|
|
content="View hardware and software information for issues reported on the main Godot GitHub repository.">
|
|
<meta name="theme-color" content="#3d8fcc">
|
|
<title>Godot GitHub issue statistics</title>
|
|
<link rel="icon" href="favicon.png">
|
|
<link rel="stylesheet" href="thirdparty/water.min.css">
|
|
<style>
|
|
body {
|
|
line-height: 1.6;
|
|
}
|
|
|
|
h3 {
|
|
/* Put subheadings closer to the charts to save vertical space. */
|
|
margin-top: -1rem;
|
|
margin-bottom: -0.5rem;
|
|
/* Line up subheadings with the charts. */
|
|
margin-left: 2rem;
|
|
}
|
|
|
|
h3:not(:first-of-type) {
|
|
/* Put subsequent subheadings in a block even closer to the chart to save more vertical space. */
|
|
margin-top: -3rem;
|
|
}
|
|
|
|
details {
|
|
align-items: unset;
|
|
}
|
|
|
|
summary {
|
|
/* Make accordion titles look more like headings. */
|
|
font-weight: bold;
|
|
font-size: 1.25rem;
|
|
}
|
|
|
|
.chart-container {
|
|
/* Limit size of donut charts on desktop. */
|
|
position: relative;
|
|
max-width: 20rem;
|
|
margin: 0 auto 2rem auto;
|
|
}
|
|
|
|
.chart-caption {
|
|
font-size: 0.9rem;
|
|
font-style: italic;
|
|
}
|
|
</style>
|
|
<script defer src="thirdparty/chart.umd.min.js"></script>
|
|
<script defer src="thirdparty/ky.umd.min.js"></script>
|
|
<script>
|
|
const capitalizeStringRemaps = {
|
|
amd: "AMD",
|
|
intel: "Intel",
|
|
nvidia: "NVIDIA",
|
|
|
|
// CPU x86 features.
|
|
avx512: "AVX-512",
|
|
avx2: "AVX2",
|
|
avx: "AVX",
|
|
"sse4.2": "SSE 4.2",
|
|
|
|
// Arch Linux.
|
|
arch: "Arch or Arch-based",
|
|
|
|
// AMD GPU generations.
|
|
dedicated_rdna4: "Dedi. RDNA4",
|
|
dedicated_rdna3: "Dedi. RDNA3",
|
|
dedicated_rdna2: "Dedi. RDNA2",
|
|
dedicated_rdna1: "Dedi. RDNA1",
|
|
"dedicated_gcn5.0": "Dedi. GCN 5.0",
|
|
"dedicated_gcn4.0": "Dedi. GCN 4.0",
|
|
"dedicated_gcn3.0": "Dedi. GCN 3.0",
|
|
"dedicated_gcn2.0": "Dedi. GCN 2.0",
|
|
"dedicated_gcn1.0": "Dedi. GCN 1.0",
|
|
"dedicated_vliw4": "Dedi. VLIW4",
|
|
integrated_rdna3: "IGP RDNA3",
|
|
integrated_rdna2: "IGP RDNA2",
|
|
"integrated_gcn5.0": "IGP GCN 5.0",
|
|
|
|
unknown: "Other/Unknown",
|
|
};
|
|
|
|
const chartColors = {
|
|
android: "#84cc16",
|
|
ios: "#a855f7",
|
|
linux: "#eab308",
|
|
macos: "#a8a29e",
|
|
web: "#f97316",
|
|
windows: "#0ea5e9",
|
|
|
|
amd: "#b91c1c",
|
|
intel: "#2074d9",
|
|
nvidia: "#65a30d",
|
|
|
|
// Windows versions.
|
|
windows_11: "#38bdf8",
|
|
windows_10: "#0284c7",
|
|
"windows_8.1": "#0369a1",
|
|
windows_8: "#075985",
|
|
windows_7: "#0c4a6e",
|
|
|
|
// macOS versions.
|
|
macos_26: "#e7e5e4",
|
|
macos_15: "#d6d3d1",
|
|
macos_14: "#a8a29e",
|
|
macos_13: "#78716c",
|
|
macos_12: "#57534e",
|
|
macos_11: "#44403c",
|
|
"macos_10.15": "#292524",
|
|
"macos_10.14": "#1c1917",
|
|
|
|
// Linux distributions.
|
|
ubuntu: "#ea580c",
|
|
fedora: "#1e40af",
|
|
debian: "#be123c",
|
|
mint: "#65a30d",
|
|
arch: "#0891b2",
|
|
|
|
// Android versions.
|
|
android_16: "#dcfce7",
|
|
android_15: "#bbf7d0",
|
|
android_14: "#86efac",
|
|
android_13: "#4ade80",
|
|
android_12: "#22c55e",
|
|
android_11: "#16a34a",
|
|
android_10: "#15803d",
|
|
android_9: "#166534",
|
|
android_8: "#14532d",
|
|
android_7: "#052e16",
|
|
|
|
// iOS versions.
|
|
ios_26: "#f0abfc",
|
|
ios_18: "#e879f9",
|
|
ios_17: "#d946ef",
|
|
ios_16: "#c026d3",
|
|
ios_15: "#a21caf",
|
|
ios_14: "#86198f",
|
|
ios_13: "#701a75",
|
|
ios_12: "#4a044e",
|
|
|
|
// Web browsers.
|
|
firefox: "#ea580c",
|
|
chrome: "#65a30d",
|
|
edge: "#0ea5e9",
|
|
safari: "#64748b",
|
|
opera: "#dc2626",
|
|
|
|
// AMD CPU generation.
|
|
zen_5: "#fca5a5",
|
|
zen_4: "#f87171",
|
|
zen_3: "#ef4444",
|
|
zen_2: "#dc2626",
|
|
"zen+": "#b91c1c",
|
|
zen_1: "#991b1b",
|
|
piledriver: "#7f1d1d",
|
|
bulldozer: "#450a0a",
|
|
|
|
// Intel CPU generation.
|
|
arrow_lake: "#ffffff",
|
|
raptor_lake_refresh: "#eff6ff",
|
|
raptor_lake: "#eff6ff",
|
|
alder_lake: "#dbeafe",
|
|
rocket_lake: "#bfdbfe",
|
|
comet_lake: "#93c5fd",
|
|
coffee_lake_refresh: "#60a5fa",
|
|
coffee_lake: "#3b82f6",
|
|
kaby_lake: "#2563eb",
|
|
skylake: "#1d4ed8",
|
|
broadwell: "#1e40af",
|
|
haswell: "#1e3a8a",
|
|
ivy_bridge: "#172554",
|
|
sandy_bridge: "#172554",
|
|
|
|
// CPU physical core count.
|
|
"24_cores": "#cffafe",
|
|
"20_cores": "#a5f3fc",
|
|
"16_cores": "#67e8f9",
|
|
"14_cores": "#22d3ee",
|
|
"12_cores": "#06b6d4",
|
|
"10_cores": "#0891b2",
|
|
"8_cores": "#0e7490",
|
|
"6_cores": "#155e75",
|
|
"4_cores": "#164e63",
|
|
"2_cores": "#083344",
|
|
|
|
// CPU x86 features.
|
|
avx512: "#f9a8d4",
|
|
avx2: "#ec4899",
|
|
avx: "#be185d",
|
|
"sse4.2": "#831843",
|
|
|
|
// CPU multi-thread performance score.
|
|
">70,000": "#fee879",
|
|
"60,000-70,000": "#fde047",
|
|
"50,000-60,000": "#facc15",
|
|
"40,000-50,000": "#eab308",
|
|
"30,000-40,000": "#ca8a04",
|
|
"20,000-30,000": "#a16207",
|
|
"10,000-20,000": "#854d0e",
|
|
"5,000-10,000": "#713f12",
|
|
"<5,000": "#422006",
|
|
|
|
// CPU single-thread performance score.
|
|
">4,500": "#a5b4fc",
|
|
"4,000-4,500": "#818cf8",
|
|
"3,500-4,000": "#6366f1",
|
|
"3,000-3,500": "#4f46e5",
|
|
"2,500-3,000": "#4338ca",
|
|
"2,000-2,500": "#3730a3",
|
|
"1,500-2,000": "#312e81",
|
|
"<1,500": "#1e1b4b",
|
|
|
|
// AMD GPU generation.
|
|
dedicated_rdna4: "#fee2e2",
|
|
dedicated_rdna3: "#fecaca",
|
|
dedicated_rdna2: "#fca5a5",
|
|
dedicated_rdna1: "#f87171",
|
|
"dedicated_gcn5.0": "#ef4444",
|
|
"dedicated_gcn4.0": "#dc2626",
|
|
"dedicated_gcn3.0": "#b91c1c",
|
|
"dedicated_gcn2.0": "#991b1b",
|
|
"dedicated_gcn1.0": "#7f1d1d",
|
|
dedicated_vliw4: "#450a0a",
|
|
integrated_rdna3: "#92400e",
|
|
integrated_rdna2: "#78350f",
|
|
"integrated_gcn5.0": "#451a03",
|
|
|
|
// Intel GPU generation.
|
|
dedicated_arc_battlemage: "#0d5572",
|
|
dedicated_arc_alchemist: "#083344",
|
|
integrated_gen12: "#60a5fa",
|
|
"integrated_gen9.5": "#3b82f6",
|
|
integrated_gen9: "#2563eb",
|
|
integrated_gen8: "#1d4ed8",
|
|
"integrated_gen7.5": "#1e40af",
|
|
integrated_gen7: "#1e3a8a",
|
|
integrated_gen6: "#172554",
|
|
|
|
// NVIDIA GPU generation.
|
|
dedicated_blackwell: "#b8ec62",
|
|
dedicated_ada_lovelace: "#a3e635",
|
|
dedicated_ampere: "#84cc16",
|
|
dedicated_turing: "#65a30d",
|
|
dedicated_pascal: "#4d7c0f",
|
|
dedicated_maxwell: "#3f6212",
|
|
dedicated_kepler: "#365314",
|
|
dedicated_fermi: "#1a2e05",
|
|
|
|
// GPU feature support.
|
|
yes: "#84cc16",
|
|
no: "#dc2626",
|
|
|
|
// GPU video memory.
|
|
"32_gb": "#ffffff",
|
|
"24_gb": "#ffffff",
|
|
"20_gb": "#faf5ff",
|
|
"16_gb": "#f3e8ff",
|
|
"12_gb": "#e9d5ff",
|
|
"11_gb": "#d8b4fe",
|
|
"10_gb": "#c084fc",
|
|
"8_gb": "#a855f7",
|
|
"6_gb": "#9333ea",
|
|
"4_gb": "#7e22ce",
|
|
"3_gb": "#6b21a8",
|
|
"2_gb": "#581c87",
|
|
"1_gb": "#3b0764",
|
|
|
|
// GPU performance scores.
|
|
">30,000": "#fdba74",
|
|
"25,000-30,000": "#fb923c",
|
|
"20,000-25,000": "#f97316",
|
|
"15,000-20,000": "#ea580c",
|
|
"10,000-15,000": "#c2410c",
|
|
//"5000-10000": "#9a3412", Conflicts with CPU multi-thread score.
|
|
"2,500-5,000": "#7c2d12",
|
|
"<2,500": "#431407",
|
|
|
|
unknown: "#808080",
|
|
};
|
|
|
|
const ChartDatatype = {
|
|
// Values are a sum of all subvalues.
|
|
AGGREGATE: 0,
|
|
|
|
// Values are reported individually.
|
|
INDIVIDUAL: 1,
|
|
}
|
|
|
|
const prefersDark = (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches);
|
|
|
|
function getRemappedString(label) {
|
|
// Capitalize string (like_this => Like This) if not found in the remaps table.
|
|
// Replace "Dedicated" and "Integrated" with shorter forms if not using the remaps table
|
|
// (useful for NVIDIA GPUs).
|
|
// Replace " Gb" for VRAM sizes.
|
|
return capitalizeStringRemaps[label] ?? label.replaceAll("_", " ").replace(/\b\w/g, l => l.toUpperCase())
|
|
.replace("Dedicated", "Dedi.")
|
|
.replace("Integrated", "IGP")
|
|
.replace(" Gb", " GB")
|
|
.replace("Macos", "macOS")
|
|
.replace("Ios", "iOS");
|
|
}
|
|
|
|
function getChartColor(label) {
|
|
// Use a random color as a fallback if the color for the given label can't be found in the list.
|
|
return chartColors[label] ?? '#' + (0x1000000 + (Math.random()) * 0xffffff).toString(16).substr(1, 6);
|
|
}
|
|
|
|
// Function that sums all values in an array (use with `reduce()`).
|
|
const sum = (partialSum, value) => partialSum + value;
|
|
|
|
// Creates a Frappe chart (automatically added to the DOM).
|
|
function createChart(id, chartDatatype, dataset) {
|
|
const options = {
|
|
animation: false,
|
|
plugins: {
|
|
tooltip: {
|
|
callbacks: {
|
|
// Display percentage share when hovering a value in the donut chart.
|
|
label: function (context) {
|
|
try {
|
|
const data = context.dataset.data;
|
|
const dataIndex = context.dataIndex;
|
|
let label = ' ' + data[dataIndex] || '';
|
|
|
|
if (label) {
|
|
label += ': ';
|
|
}
|
|
|
|
const sum = data.reduce((accumulator, curValue) => {
|
|
return accumulator + curValue;
|
|
});
|
|
const value = data[dataIndex];
|
|
|
|
label += Number((value / sum) * 100).toFixed(1) + "%";
|
|
return label;
|
|
} catch (error) {
|
|
console.log(error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
const data = {
|
|
labels: Object.keys(dataset).map(label => getRemappedString(label)),
|
|
datasets: [
|
|
{
|
|
data: chartDatatype == ChartDatatype.INDIVIDUAL
|
|
? Object.values(dataset)
|
|
: Object.values(dataset).map(subObject => Object.values(subObject).reduce(sum, 0)),
|
|
backgroundColor: Object.keys(dataset).map(label => getChartColor(label)),
|
|
// Match background color to create a visible, but transparent distinction between chart segments.
|
|
borderColor: prefersDark ? "#1a242f" : "#f7f7f7",
|
|
}
|
|
]
|
|
};
|
|
|
|
new Chart(
|
|
document.getElementById(id),
|
|
{
|
|
type: "doughnut",
|
|
options,
|
|
data,
|
|
}
|
|
);
|
|
}
|
|
|
|
function setAllDetailsOpen(open) {
|
|
document.querySelectorAll("details").forEach(details => {
|
|
details.open = open;
|
|
});
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", async function () {
|
|
// Match water.css theme font colors for Chart.js labels.
|
|
Chart.defaults.color = prefersDark ? "#dbdbdb" : "#363636";
|
|
|
|
const statistics = await ky.get('statistics.json').json();
|
|
|
|
document.getElementById("num-reports").innerText = statistics.num_reports;
|
|
// Only include the date in YYYY-MM-DD format.
|
|
document.getElementById("first-report-date").innerText = statistics.first_report_date.substr(0, 10);
|
|
document.getElementById("last-report-date").innerText = statistics.last_report_date.substr(0, 10);
|
|
|
|
createChart("chart-operating-system", ChartDatatype.AGGREGATE, statistics.os);
|
|
createChart("chart-windows-version", ChartDatatype.INDIVIDUAL, statistics.os.windows);
|
|
createChart("chart-macos-version", ChartDatatype.INDIVIDUAL, statistics.os.macos);
|
|
createChart("chart-linux-distribution", ChartDatatype.INDIVIDUAL, statistics.os.linux);
|
|
createChart("chart-android-version", ChartDatatype.INDIVIDUAL, statistics.os.android);
|
|
createChart("chart-ios-version", ChartDatatype.INDIVIDUAL, statistics.os.ios);
|
|
createChart("chart-web-browser", ChartDatatype.INDIVIDUAL, statistics.os.web);
|
|
|
|
createChart("chart-cpu-vendor", ChartDatatype.AGGREGATE, statistics.cpu);
|
|
createChart("chart-cpu-amd", ChartDatatype.INDIVIDUAL, statistics.cpu.amd);
|
|
createChart("chart-cpu-intel", ChartDatatype.INDIVIDUAL, statistics.cpu.intel);
|
|
|
|
createChart("chart-cpu-core-count", ChartDatatype.INDIVIDUAL, statistics.cpu_core_count);
|
|
createChart("chart-cpu-x86-features", ChartDatatype.INDIVIDUAL, statistics.cpu_x86_features);
|
|
createChart("chart-cpu-passmark-multi", ChartDatatype.INDIVIDUAL, statistics.cpu_passmark_score.multi_thread);
|
|
createChart("chart-cpu-passmark-single", ChartDatatype.INDIVIDUAL, statistics.cpu_passmark_score.single_thread);
|
|
|
|
createChart("chart-gpu-vendor", ChartDatatype.AGGREGATE, statistics.gpu);
|
|
createChart("chart-gpu-amd", ChartDatatype.INDIVIDUAL, statistics.gpu.amd);
|
|
createChart("chart-gpu-intel", ChartDatatype.INDIVIDUAL, statistics.gpu.intel);
|
|
createChart("chart-gpu-nvidia", ChartDatatype.INDIVIDUAL, statistics.gpu.nvidia);
|
|
|
|
createChart("chart-gpu-vram", ChartDatatype.INDIVIDUAL, statistics.gpu_vram);
|
|
createChart("chart-gpu-raytracing-dedicated", ChartDatatype.INDIVIDUAL, statistics.gpu_raytracing.dedicated);
|
|
createChart("chart-gpu-raytracing-integrated", ChartDatatype.INDIVIDUAL, statistics.gpu_raytracing.integrated);
|
|
createChart("chart-gpu-vrs-dedicated", ChartDatatype.INDIVIDUAL, statistics.gpu_vrs.dedicated);
|
|
createChart("chart-gpu-vrs-integrated", ChartDatatype.INDIVIDUAL, statistics.gpu_vrs.integrated);
|
|
createChart("chart-gpu-mesh-shaders-dedicated", ChartDatatype.INDIVIDUAL, statistics.gpu_mesh_shaders.dedicated);
|
|
createChart("chart-gpu-mesh-shaders-integrated", ChartDatatype.INDIVIDUAL, statistics.gpu_mesh_shaders.integrated);
|
|
createChart("chart-gpu-passmark", ChartDatatype.INDIVIDUAL, statistics.gpu_passmark_score);
|
|
});
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<h1>Godot GitHub issue statistics</h1>
|
|
<p>
|
|
This page lists hardware and software information reported by users on the
|
|
<a href="https://github.com/godotengine/godot/issues">issue tracker of the main Godot repository</a>.
|
|
As such, these statistics are <em>not</em> representative of the entire Godot community,
|
|
but they allow seeing what kind of hardware and software is popular among issue reporters.
|
|
</p>
|
|
<p>
|
|
These statistics were compiled from
|
|
<strong><span id="num-reports">----</span></strong> recent user reports made between
|
|
<strong><span id="first-report-date">----------</span></strong> and
|
|
<strong><span id="last-report-date">----------</span></strong>.
|
|
</p>
|
|
<p>
|
|
<strong>Note:</strong> The total number of reported hardware/software
|
|
metrics does not add up to this number, as a user may report several
|
|
issues with identical hardware/software configuration.
|
|
</p>
|
|
|
|
<button onclick="setAllDetailsOpen(true)"><strong>+</strong> Expand all</button>
|
|
<button onclick="setAllDetailsOpen(false)"><strong>-</strong> Collapse all</button>
|
|
|
|
<details open>
|
|
<summary>Operating system</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-operating-system"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>Windows version</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-windows-version"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>macOS version</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-macos-version"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>Linux distribution</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-linux-distribution"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>Android version</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-android-version"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>iOS version</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-ios-version"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>Web browser</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-web-browser"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
The web browser used when reporting issues related to the web editor or web export.
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>CPU vendor</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-cpu-vendor"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>AMD CPU generation</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-cpu-amd"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
Laptop CPUs, FXs, Athlons, Phenoms, Threadrippers and EPYCs are currently categorized as "Other/Unknown".
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>Intel CPU generation</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-cpu-intel"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
Laptop CPUs, Celerons, Pentiums and Xeons are currently categorized as "Other/Unknown".
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>CPU physical core count</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-cpu-core-count"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
For CPUs with hybrid (big.LITTLE) topologies, both "big" cores and "little" cores are summed together.
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>Highest supported x86 CPU instruction set</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-cpu-x86-features"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
Support for a new instruction set implies support for older instruction sets. For instance, supporting
|
|
AVX-512 implies supporting AVX2, AVX and SSE4.2.<br>
|
|
Godot currently only requires SSE2 for official binaries, which is supported on all x86_64 CPUs.
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>CPU multi-thread performance score</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-cpu-passmark-multi"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
Scores are sourced from <a href="https://www.cpubenchmark.net/">PassMark</a>.<br>
|
|
For reference, here are some example CPUs that roughly match each score threshold:
|
|
<ul>
|
|
<li><strong>5,000 points:</strong> AMD FX-8140, Intel Core i5-3570K</li>
|
|
<li><strong>10,000 points:</strong> AMD Ryzen 5 7520U, Intel Core i5-8600</li>
|
|
<li><strong>20,000 points:</strong> AMD Ryzen 5 5600G, Intel Core i9-10900</li>
|
|
<li><strong>30,000 points:</strong> AMD Ryzen 5 9600X, Intel Core i9-9960X</li>
|
|
<li><strong>40,000 points:</strong> AMD Ryzen 9 5900X, Intel Core i7-13700, Apple M1 Ultra 20 Core</li>
|
|
<li><strong>50,000 points:</strong> AMD Ryzen 9 7900X, Intel Core i7-13900, Apple M2 Ultra 24 Core</li>
|
|
<li><strong>60,000 points:</strong> AMD Ryzen 9 7950X, Intel Core i9-13900K</li>
|
|
</ul>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>CPU single-thread performance score</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-cpu-passmark-single"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
Scores are sourced from <a href="https://www.cpubenchmark.net/">PassMark</a>.<br>
|
|
For reference, here are some example CPUs that roughly match each score threshold:
|
|
<ul>
|
|
<li><strong>1,500 points:</strong> AMD A8-7500, Intel Core i5-2310</li>
|
|
<li><strong>2,000 points:</strong> AMD Ryzen 7 1700, Intel Core i5-3550</li>
|
|
<li><strong>2,500 points:</strong> AMD Ryzen 5 3500, Intel Core i3-8350K</li>
|
|
<li><strong>3,000 points:</strong> AMD Ryzen 3 5300G, Intel Core i9-9900K</li>
|
|
<li><strong>3,500 points:</strong> AMD Ryzen 9 5900X, Intel Core i5-12400</li>
|
|
<li><strong>4,000 points:</strong> AMD Ryzen 7 7700, Intel Core i5-13600, Apple M2 8 Core</li>
|
|
<li><strong>4,500 points:</strong> AMD Ryzen 5 9600X, Intel Core i9-13900K, Apple M4 9 Core</li>
|
|
</ul>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>GPU vendor</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-vendor"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>AMD GPU generation</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-amd"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>Intel GPU generation</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-intel"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>NVIDIA GPU generation</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-nvidia"></canvas>
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>GPU video memory</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-vram"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
Only dedicated GPUs are taken into account.
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>GPU hardware-accelerated raytracing support</summary>
|
|
<h3>Dedicated GPUs</h3>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-raytracing-dedicated"></canvas>
|
|
</div>
|
|
<h3>Integrated GPUs</h3>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-raytracing-integrated"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
Raytracing is currently not used in Godot.
|
|
<br><br>
|
|
This metric only checks whether it's supported in hardware, not whether the GPU is fast enough for
|
|
hardware-accelerated raytracing to be viable for gaming.
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>GPU variable rate shading support</summary>
|
|
<h3>Dedicated GPUs</h3>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-vrs-dedicated"></canvas>
|
|
</div>
|
|
<h3>Integrated GPUs</h3>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-vrs-integrated"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
<a href="https://docs.godotengine.org/en/stable/tutorials/3d/variable_rate_shading.html">Variable rate
|
|
shading</a> can be optionally used in Godot 4.
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>GPU mesh shaders support</summary>
|
|
<h3>Dedicated GPUs</h3>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-mesh-shaders-dedicated"></canvas>
|
|
</div>
|
|
<h3>Integrated GPUs</h3>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-mesh-shaders-integrated"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
Mesh shaders are currently not used in Godot.
|
|
</div>
|
|
</details>
|
|
|
|
<details open>
|
|
<summary>GPU performance score</summary>
|
|
<div class="chart-container">
|
|
<canvas id="chart-gpu-passmark"></canvas>
|
|
</div>
|
|
<div class="chart-caption">
|
|
Scores are sourced from <a href="https://www.videocardbenchmark.net/">PassMark</a>.<br>
|
|
For reference, here are some example GPUs that roughly match each score threshold:
|
|
<ul>
|
|
<li><strong>2,500 points:</strong> GeForce GT 1030, GeForce GTX 850M, Radeon HD 8950, Ryzen 5 5600G IGP,
|
|
Intel Iris Xe</li>
|
|
<li><strong>5,000 points:</strong> GeForce GTX 1050, Quadro P2000 with Max-Q Design, Radeon HD 7970,
|
|
Radeon R9 M295X</li>
|
|
<li><strong>10,000 points:</strong> GeForce RTX 1060, GeForce RTX 3050 Ti Laptop GPU, Radeon R9 Fury X
|
|
</li>
|
|
<li><strong>15,000 points:</strong> GeForce GTX 1080, GeForce RTX 2080 Mobile, Radeon RX 6600, Radeon
|
|
RX7600S</li>
|
|
<li><strong>20,000 points:</strong> GeForce RTX 3060 Ti, GeForce RTX 3080 Ti Laptop GPU, Radeon RX
|
|
6700XT</li>
|
|
<li><strong>25,000 points:</strong> GeForce RTX 3080, Radeon RX 6800 XT</li>
|
|
<li><strong>30,000 points:</strong> GeForce RTX 3090 Ti, GeForce RTX 4090 Laptop GPU, Radeon RX 7900 XTX
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</details>
|
|
|
|
<button onclick="setAllDetailsOpen(true)"><strong>+</strong> Expand all</button>
|
|
<button onclick="setAllDetailsOpen(false)"><strong>-</strong> Collapse all</button>
|
|
|
|
<footer>
|
|
© 2023-present Hugo Locurcio and contributors<br>
|
|
<a href="https://github.com/godotengine/issue-stats">Website source on GitHub</a>
|
|
</footer>
|
|
</body>
|
|
|
|
</html>
|