Add 2024/2025 hardware releases

- Add the following hardware to the list:
  - CPUs:
    - AMD Zen 5.
    - Intel Arrow Lake, Raptor Lake refresh.
  - GPUs:
    - AMD RDNA4.
    - Intel Battlemage.
    - NVIDIA Blackwell.
- Add link to variable rate shading documentation.
- Update guidance on GitHub tokens to follow recent changes.
- Use SSL verification when performing GraphQL API requests.
- Update dependencies to work with Python 3.13.
This commit is contained in:
Hugo Locurcio
2025-05-28 20:32:02 +02:00
parent 0d03f356fc
commit 6769c831da
5 changed files with 562 additions and 48 deletions

View File

@@ -1,3 +1,5 @@
# Copy this file to `.env` and modify it.
# Go to <https://github.com/settings/tokens> to generate one with the `public_repo` scope.
GODOT_ISSUES_STATS_GITHUB_TOKEN="ghp_token_here"
# Go to <https://github.com/settings/personal-access-tokens>
# to generate a fine-grained token with read-only public repository access.
# Its expiration date *must* be set to less than 366 days in the future.
GODOT_ISSUES_STATS_GITHUB_TOKEN="github_pat_token_here"

View File

@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v5.0.0
hooks:
# Generic hooks, relevant for any language.
- id: forbid-new-submodules
@@ -27,16 +27,16 @@ repos:
- id: requirements-txt-fixer
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
rev: 6.0.1
hooks:
- id: isort
- repo: https://github.com/psf/black
rev: 23.3.0
rev: 25.1.0
hooks:
- id: black
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
rev: 7.2.0
hooks:
- id: flake8

539
build.py
View File

@@ -17,6 +17,7 @@ def main() -> None:
headers={
"Authorization": f"Bearer {os.getenv('GODOT_ISSUES_STATS_GITHUB_TOKEN')}"
},
ssl=True,
)
client: Final = Client(transport=transport, fetch_schema_from_transport=True)
@@ -138,6 +139,7 @@ def main() -> None:
},
"cpu": {
"amd": {
"zen_5": set(),
"zen_4": set(),
"zen_3": set(),
"zen_2": set(),
@@ -148,6 +150,8 @@ def main() -> None:
"unknown": set(),
},
"intel": {
"arrow_lake": set(),
"raptor_lake_refresh": set(),
"raptor_lake": set(),
"alder_lake": set(),
"rocket_lake": set(),
@@ -166,9 +170,8 @@ def main() -> None:
# Number of physical CPU cores.
# On CPUs with hybrid topologies (such as 12th generation Intel and newer),
# this is the sum of P-cores and E-cores.
">32_cores": set(),
"32_cores": set(),
"24_cores": set(),
"20_cores": set(),
"16_cores": set(),
"14_cores": set(),
"12_cores": set(),
@@ -191,7 +194,8 @@ def main() -> None:
"cpu_passmark_score": {
# Scores from <https://www.cpubenchmark.net/>.
"multi_thread": {
">60,000": set(),
">70,000": set(),
"60,000-70,000": set(),
"50,000-60,000": set(),
"40,000-50,000": set(),
"30,000-40,000": set(),
@@ -228,9 +232,12 @@ def main() -> None:
"unknown": set(),
},
"intel": {
"dedicated_arc_battlemage": set(),
"dedicated_arc_alchemist": set(),
"integrated_gen12": set(), # Rocket Lake/Alder Lake/Raptor Lake
# There's no way to detect gen11 (Ice Lake) IGPs based on GPU model name alone.
# Arrow Lake uses `integrated_arc_alchemist`,
# but there's no way to detect it based on GPU model name alone.
"integrated_gen12": set(), # Rocket Lake/Alder Lake/Raptor Lake/Raptor Lake Refresh
# There's no way to detect Gen11 (Ice Lake) IGPs based on GPU model name alone.
# There are no gen10 IGPs.
"integrated_gen9.5": set(), # Kaby Lake/Coffee Lake/Coffee Lake Refresh
"integrated_gen9": set(), # Skylake
@@ -241,6 +248,7 @@ def main() -> None:
"unknown": set(),
},
"nvidia": {
"dedicated_blackwell": set(),
"dedicated_ada_lovelace": set(),
"dedicated_ampere": set(),
"dedicated_turing": set(),
@@ -253,7 +261,7 @@ def main() -> None:
},
"gpu_vram": {
# Only dedicated GPUs increment this statistic.
">24_gb": set(),
"32_gb": set(),
"24_gb": set(),
"20_gb": set(),
"16_gb": set(),
@@ -487,8 +495,248 @@ def main() -> None:
# TODO: Add laptop and Celeron/Pentium Intel CPUs.
# The Intel CPU detection considers -KS and -KF CPUs identical to -K,
# and -F identical to not having any suffix. (The -F suffix denotes a non-functional IGP.)
# and -F identical to not having any suffix.
# (The -S suffix denotes a slightly higher CPU clock,
# while the -F suffix denotes a non-functional IGP.)
if (
"ultra9285k" in system_information_trimmed
or "ultra285k" in system_information_trimmed
or "intel285k" in system_information_trimmed
):
statistics["cpu"]["intel"]["arrow_lake"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"60,000-70,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ultra9285" in system_information_trimmed
or "ultra285" in system_information_trimmed
or "intel285" in system_information_trimmed
):
statistics["cpu"]["intel"]["arrow_lake"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"50,000-60,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ultra7265k" in system_information_trimmed
or "ultra265k" in system_information_trimmed
or "intel265k" in system_information_trimmed
):
statistics["cpu"]["intel"]["arrow_lake"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"50,000-60,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ultra7265" in system_information_trimmed
or "ultra265" in system_information_trimmed
or "intel265" in system_information_trimmed
):
statistics["cpu"]["intel"]["arrow_lake"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"40,000-50,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ultra5245k" in system_information_trimmed
or "ultra245k" in system_information_trimmed
or "intel245k" in system_information_trimmed
):
statistics["cpu"]["intel"]["arrow_lake"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"40,000-50,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ultra5245" in system_information_trimmed
or "ultra245" in system_information_trimmed
or "intel245" in system_information_trimmed
):
statistics["cpu"]["intel"]["arrow_lake"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"30,000-40,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"ultra5235" in system_information_trimmed
or "ultra235" in system_information_trimmed
or "intel235" in system_information_trimmed
):
statistics["cpu"]["intel"]["arrow_lake"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"30,000-40,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"ultra5225" in system_information_trimmed
or "ultra225" in system_information_trimmed
or "intel225" in system_information_trimmed
):
statistics["cpu"]["intel"]["arrow_lake"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"30,000-40,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"i914900k" in system_information_trimmed
or "core14900k" in system_information_trimmed
or "intel14900k" in system_information_trimmed
):
statistics["cpu"]["intel"]["raptor_lake_refresh"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"60,000-70,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"i914900" in system_information_trimmed
or "core14900" in system_information_trimmed
or "intel14900" in system_information_trimmed
):
statistics["cpu"]["intel"]["raptor_lake_refresh"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"40,000-50,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"i714700k" in system_information_trimmed
or "core14700k" in system_information_trimmed
or "intel14700k" in system_information_trimmed
):
statistics["cpu"]["intel"]["raptor_lake_refresh"].add(user)
statistics["cpu_core_count"]["20_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"50,000-60,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"i714700" in system_information_trimmed
or "core14700" in system_information_trimmed
or "intel14700" in system_information_trimmed
):
statistics["cpu"]["intel"]["raptor_lake_refresh"].add(user)
statistics["cpu_core_count"]["20_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"30,000-40,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"i514600k" in system_information_trimmed
or "core14600k" in system_information_trimmed
or "intel14600k" in system_information_trimmed
):
statistics["cpu"]["intel"]["raptor_lake_refresh"].add(user)
statistics["cpu_core_count"]["14_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"30,000-40,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"i514600" in system_information_trimmed
or "core14600" in system_information_trimmed
or "intel14600" in system_information_trimmed
):
statistics["cpu"]["intel"]["raptor_lake_refresh"].add(user)
statistics["cpu_core_count"]["14_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"30,000-40,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"i514,500" in system_information_trimmed
or "core14,500" in system_information_trimmed
or "intel14,500" in system_information_trimmed
):
statistics["cpu"]["intel"]["raptor_lake_refresh"].add(user)
statistics["cpu_core_count"]["14_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"30,000-40,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"3,500-4,000"
].add(user)
elif (
"i514400" in system_information_trimmed
or "core14400" in system_information_trimmed
or "intel14400" in system_information_trimmed
):
statistics["cpu"]["intel"]["raptor_lake_refresh"].add(user)
statistics["cpu_core_count"]["10_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"20,000-30,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"3,500-4,000"
].add(user)
elif (
"i314100" in system_information_trimmed
or "core14100" in system_information_trimmed
or "intel14100" in system_information_trimmed
):
statistics["cpu"]["intel"]["raptor_lake_refresh"].add(user)
statistics["cpu_core_count"]["4_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"10,000-20,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"3,500-4,000"
].add(user)
elif (
"i913900k" in system_information_trimmed
or "core13900k" in system_information_trimmed
or "intel13900k" in system_information_trimmed
@@ -496,9 +744,9 @@ def main() -> None:
statistics["cpu"]["intel"]["raptor_lake"].add(user)
statistics["cpu_core_count"]["24_cores"].add(user)
statistics["cpu_x86_features"]["avx2"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][">60,000"].add(
user
)
statistics["cpu_passmark_score"]["multi_thread"][
"60,000-70,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
@@ -2055,15 +2303,119 @@ def main() -> None:
# NOTE: Unlike Intel CPUs, detection does not allow "amd<number>" as this syntax is used for GPUs instead.
# There would be some ambiguities otherwise, such as Ryzen 5 7600 versus Radeon RX 7600.
if (
"ryzen99950x3d" in system_information_trimmed
or "ryzen9950x3d" in system_information_trimmed
):
statistics["cpu"]["amd"]["zen_5"].add(user)
statistics["cpu_core_count"]["16_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][">70,000"].add(
user
)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ryzen99950x" in system_information_trimmed
or "ryzen9950x" in system_information_trimmed
):
statistics["cpu"]["amd"]["zen_5"].add(user)
statistics["cpu_core_count"]["16_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"60,000-70,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ryzen99900x3d" in system_information_trimmed
or "ryzen9900x3d" in system_information_trimmed
):
statistics["cpu"]["amd"]["zen_5"].add(user)
statistics["cpu_core_count"]["12_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"50,000-60,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ryzen99900x" in system_information_trimmed
or "ryzen9900x" in system_information_trimmed
):
statistics["cpu"]["amd"]["zen_5"].add(user)
statistics["cpu_core_count"]["12_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"50,000-60,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ryzen79800x3d" in system_information_trimmed
or "ryzen9800x3d" in system_information_trimmed
):
statistics["cpu"]["amd"]["zen_5"].add(user)
statistics["cpu_core_count"]["8_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"40,000-50,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"3,500-4,000"
].add(user)
elif (
"ryzen79700x" in system_information_trimmed
or "ryzen9700x" in system_information_trimmed
):
statistics["cpu"]["amd"]["zen_5"].add(user)
statistics["cpu_core_count"]["8_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"30,000-40,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][">4,500"].add(
user
)
elif (
"ryzen59600x" in system_information_trimmed
or "ryzen9600x" in system_information_trimmed
):
statistics["cpu"]["amd"]["zen_5"].add(user)
statistics["cpu_core_count"]["6_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"20,000-30,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"ryzen59600" in system_information_trimmed
or "ryzen9600" in system_information_trimmed
):
statistics["cpu"]["amd"]["zen_5"].add(user)
statistics["cpu_core_count"]["6_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][
"20,000-30,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
elif (
"ryzen97950x3d" in system_information_trimmed
or "ryzen7950x3d" in system_information_trimmed
):
statistics["cpu"]["amd"]["zen_4"].add(user)
statistics["cpu_core_count"]["16_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][">60,000"].add(
user
)
statistics["cpu_passmark_score"]["multi_thread"][
"60,000-70,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
@@ -2074,9 +2426,9 @@ def main() -> None:
statistics["cpu"]["amd"]["zen_4"].add(user)
statistics["cpu_core_count"]["16_cores"].add(user)
statistics["cpu_x86_features"]["avx512"].add(user)
statistics["cpu_passmark_score"]["multi_thread"][">60,000"].add(
user
)
statistics["cpu_passmark_score"]["multi_thread"][
"60,000-70,000"
].add(user)
statistics["cpu_passmark_score"]["single_thread"][
"4,000-4,500"
].add(user)
@@ -2693,6 +3045,123 @@ def main() -> None:
# This may not be reliable in all cases if the user has removed the "Mobile"
# or "Laptop" suffix from the model name.
if (
"tx5090" in system_information_trimmed
or "geforce5090" in system_information_trimmed
or "nvidia5090" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["32_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"][">30,000"].add(user)
elif (
"5090laptop" in system_information_trimmed
or "5090mobile" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["24_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"][">30,000"].add(user)
elif (
"tx5080" in system_information_trimmed
or "geforce5080" in system_information_trimmed
or "nvidia5080" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["16_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"][">30,000"].add(user)
elif (
"5080laptop" in system_information_trimmed
or "5080mobile" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["16_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["25,000-30,000"].add(user)
elif (
"tx5070ti" in system_information_trimmed
or "geforce5070ti" in system_information_trimmed
or "nvidia5070ti" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["16_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"][">30,000"].add(user)
elif (
"5070tilaptop" in system_information_trimmed
or "5070timobile" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["12_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["20,000-25,000"].add(user)
elif (
"tx5070" in system_information_trimmed
or "geforce5070" in system_information_trimmed
or "nvidia5070" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["12_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["25,000-30,000"].add(user)
elif (
"5070laptop" in system_information_trimmed
or "5070mobile" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["8_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["20,000-25,000"].add(user)
elif (
"tx5060ti" in system_information_trimmed
or "geforce5060ti" in system_information_trimmed
or "nvidia5060ti" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
# Assume 8 GB variant, which is much more widespread than the 16 GB one.
statistics["gpu_vram"]["8_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["20,000-25,000"].add(user)
elif (
"tx5060" in system_information_trimmed
or "geforce5060" in system_information_trimmed
or "nvidia5060" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["8_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["15,000-20,000"].add(user)
elif (
"5060laptop" in system_information_trimmed
or "5060mobile" in system_information_trimmed
):
statistics["gpu"]["nvidia"]["dedicated_blackwell"].add(user)
statistics["gpu_vram"]["8_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["15,000-20,000"].add(user)
elif (
"tx4090" in system_information_trimmed
or "geforce4090" in system_information_trimmed
or "nvidia4090" in system_information_trimmed
@@ -3456,6 +3925,28 @@ def main() -> None:
statistics["gpu"]["nvidia"]["unknown"].add(user)
if (
"rx9070xt" in system_information_trimmed
or "radeon9070xt" in system_information_trimmed
or "amd9070xt" in system_information_trimmed
):
statistics["gpu"]["amd"]["dedicated_rdna3"].add(user)
statistics["gpu_vram"]["16_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["25,000-30,000"].add(user)
elif (
"rx9070" in system_information_trimmed
or "radeon9070" in system_information_trimmed
or "amd9070" in system_information_trimmed
):
statistics["gpu"]["amd"]["dedicated_rdna3"].add(user)
statistics["gpu_vram"]["16_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["20,000-25,000"].add(user)
elif (
"rx7900xtx" in system_information_trimmed
or "radeon7900xtx" in system_information_trimmed
or "amd7900xtx" in system_information_trimmed
@@ -3801,7 +4292,21 @@ def main() -> None:
):
statistics["gpu"]["amd"]["unknown"].add(user)
if "a780" in system_information_trimmed:
if "b580" in system_information_trimmed:
statistics["gpu"]["intel"]["dedicated_arc_battlemage"].add(user)
statistics["gpu_vram"]["12_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["15,000-20,000"].add(user)
elif "b570" in system_information_trimmed:
statistics["gpu"]["intel"]["dedicated_arc_battlemage"].add(user)
statistics["gpu_vram"]["10_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)
statistics["gpu_vrs"]["dedicated"]["yes"].add(user)
statistics["gpu_mesh_shaders"]["dedicated"]["yes"].add(user)
statistics["gpu_passmark_score"]["10,000-15,000"].add(user)
elif "a780" in system_information_trimmed:
statistics["gpu"]["intel"]["dedicated_arc_alchemist"].add(user)
statistics["gpu_vram"]["16_gb"].add(user)
statistics["gpu_raytracing"]["dedicated"]["yes"].add(user)

View File

@@ -57,6 +57,7 @@
arch: "Arch or Arch-based",
// AMD GPU generations.
dedicated_rdna4: "Dedi. RDNA4",
dedicated_rdna3: "Dedi. RDNA3",
dedicated_rdna2: "Dedi. RDNA2",
dedicated_rdna1: "Dedi. RDNA1",
@@ -139,6 +140,7 @@
opera: "#dc2626",
// AMD CPU generation.
zen_5: "#fca5a5",
zen_4: "#f87171",
zen_3: "#ef4444",
zen_2: "#dc2626",
@@ -148,23 +150,24 @@
bulldozer: "#450a0a",
// Intel CPU generation.
raptor_lake: "#ffffff",
alder_lake: "#eff6ff",
rocket_lake: "#dbeafe",
comet_lake: "#bfdbfe",
coffee_lake_refresh: "#93c5fd",
coffee_lake: "#60a5fa",
kaby_lake: "#3b82f6",
skylake: "#2563eb",
broadwell: "#1d4ed8",
haswell: "#1e40af",
ivy_bridge: "#1e3a8a",
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.
">32_cores": "#ecfeff",
"32_cores": "#cffafe",
"24_cores": "#a5f3fc",
"24_cores": "#cffafe",
"20_cores": "#a5f3fc",
"16_cores": "#67e8f9",
"14_cores": "#22d3ee",
"12_cores": "#06b6d4",
@@ -181,7 +184,8 @@
"sse4.2": "#831843",
// CPU multi-thread performance score.
">60,000": "#fde047",
">70,000": "#fee879",
"60,000-70,000": "#fde047",
"50,000-60,000": "#facc15",
"40,000-50,000": "#eab308",
"30,000-40,000": "#ca8a04",
@@ -201,6 +205,7 @@
"<1,500": "#1e1b4b",
// AMD GPU generation.
dedicated_rdna4: "#fee2e2",
dedicated_rdna3: "#fecaca",
dedicated_rdna2: "#fca5a5",
dedicated_rdna1: "#f87171",
@@ -215,6 +220,7 @@
"integrated_gcn5.0": "#451a03",
// Intel GPU generation.
dedicated_arc_battlemage: "#0d5572",
dedicated_arc_alchemist: "#083344",
integrated_gen12: "#60a5fa",
"integrated_gen9.5": "#3b82f6",
@@ -225,6 +231,7 @@
integrated_gen6: "#172554",
// NVIDIA GPU generation.
dedicated_blackwell: "#b8ec62",
dedicated_ada_lovelace: "#a3e635",
dedicated_ampere: "#84cc16",
dedicated_turing: "#65a30d",
@@ -238,7 +245,7 @@
no: "#dc2626",
// GPU video memory.
">24_gb": "#ffffff",
"32_gb": "#ffffff",
"24_gb": "#ffffff",
"20_gb": "#faf5ff",
"16_gb": "#f3e8ff",
@@ -470,9 +477,9 @@
<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 Threadripper 2970WX, Intel Core i9-9960X</li>
<li><strong>40,000 points:</strong> AMD Ryzen 9 5900X, Apple M1 Ultra 20 Core, Intel Core i7-13700</li>
<li><strong>50,000 points:</strong> AMD Ryzen 9 7900X</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>
@@ -490,8 +497,8 @@
<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 5 7600, Apple M2 8 Core, Intel Core i5-13600</li>
<li><strong>4,500 points:</strong> Intel Core i9-13900K</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>
@@ -545,7 +552,7 @@
<h3>Integrated GPUs</h3>
<div id="chart-gpu-vrs-integrated"></div>
<div class="chart-caption">
Variable rate shading can be optionally used in Godot 4.
<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>

View File

@@ -1,3 +1,3 @@
gql[all]==3.4.1
python-dotenv==1.0.0
typing_extensions==4.7.0
gql[all]==3.5.3
python-dotenv==1.1.0
typing_extensions==4.13.2