From adabd5f0b2d7326958126dc960bf4ef09c9a4e4f Mon Sep 17 00:00:00 2001 From: Minteck <46352972+Minteck@users.noreply.github.com> Date: Wed, 7 Jul 2021 17:01:51 +0200 Subject: Update! --- views/script/menu_gpuinfo.js | 115 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 114 insertions(+), 1 deletion(-) (limited to 'views/script/menu_gpuinfo.js') diff --git a/views/script/menu_gpuinfo.js b/views/script/menu_gpuinfo.js index 4177cfc..accf318 100644 --- a/views/script/menu_gpuinfo.js +++ b/views/script/menu_gpuinfo.js @@ -1,3 +1,95 @@ +if (require('os').platform === "darwin") { + document.getElementById("gpuinfo").style.display = "none"; +} + +if (require('os').platform !== "darwin") { + gpuinfo = require('@electron/remote').app.getGPUFeatureStatus(); + gpuscore = 0; + maxscore = 10; + if (gpuinfo['2d_canvas'].startsWith("enabled")) { + if (gpuinfo['2d_canvas'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + if (gpuinfo['gpu_compositing'].startsWith("enabled")) { + if (gpuinfo['gpu_compositing'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + if (gpuinfo['video_decode'].startsWith("enabled")) { + if (gpuinfo['video_decode'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + if (gpuinfo['multiple_raster_threads'].startsWith("enabled")) { + if (gpuinfo['multiple_raster_threads'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + if (gpuinfo['oop_rasterization'].startsWith("enabled")) { + if (gpuinfo['oop_rasterization'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + if (gpuinfo['rasterization'].startsWith("enabled")) { + if (gpuinfo['rasterization'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + if (gpuinfo['opengl'].startsWith("enabled")) { + if (gpuinfo['opengl'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + if (gpuinfo['skia_renderer'].startsWith("enabled")) { + if (gpuinfo['skia_renderer'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + if (gpuinfo['vulkan'].startsWith("enabled")) { + if (gpuinfo['vulkan'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + if (gpuinfo['webgl'].startsWith("enabled")) { + if (gpuinfo['webgl'] === "enabled") { + gpuscore++; + } else { + gpuscore += 0.5; + } + } + + gpuperct = (gpuscore/maxscore)*100; + document.getElementById("gpusupportperc").innerText = gpuperct + "%"; + + document.getElementById("gpuinfo_progressbar").style.width = gpuperct + "%"; + if (gpuperct < 50) { + document.getElementById("gpuinfo_progressbar").style.background = "rgba(128, 0, 0, .5)"; + } else if (gpuperct < 75) { + document.getElementById("gpuinfo_progressbar").style.background = "rgba(128, 128, 0, .5)"; + } else { + document.getElementById("gpuinfo_progressbar").style.background = "rgba(0, 128, 0, .5)"; + } +} + if (require('os').platform !== "darwin") { gpuinfo = require('@electron/remote').app.getGPUFeatureStatus(); document.write("kartik
"); @@ -39,6 +131,11 @@ if (require('os').platform !== "darwin") { } else { document.write("  ├ kartik.renderer.OpenGL
"); } + if (gpuinfo['webgl'].startsWith("enabled")) { + document.write("  ├ kartik.renderer.WebGL
"); + } else { + document.write("  ├ kartik.renderer.WebGL
"); + } if (gpuinfo['skia_renderer'].startsWith("enabled")) { document.write("  ├ kartik.renderer.Skia
"); } else { @@ -56,14 +153,30 @@ if (require('os').platform !== "darwin") { document.onkeydown = (e) => { if (e.shiftKey) { document.getElementById('gpuinfo-inner').style.opacity = "1"; + document.getElementById('gpuinfo-inner').style.height = "max-content"; document.getElementById('gpuinfo-outer').style.display = "none"; } else { document.getElementById('gpuinfo-inner').style.opacity = "0"; + document.getElementById('gpuinfo-inner').style.height = "0"; document.getElementById('gpuinfo-outer').style.display = ""; } } document.onkeyup = (e) => { document.getElementById('gpuinfo-inner').style.opacity = "0"; + document.getElementById('gpuinfo-inner').style.height = "0"; document.getElementById('gpuinfo-outer').style.display = ""; -} \ No newline at end of file +} + +require('systeminformation').graphics().then((data) => { + document.getElementById("gpuinfo-model").innerText = data.controllers[0].model; + vram = data.controllers[0].vram; + + if (vram > 1024) { + vrams = (vram/1024).toFixed(1) + " GiB"; + } else { + vrams = (vram).toFixed(1) + " MiB"; + } + + document.getElementById("gpuinfo-vram").innerText = vrams + " VRAM"; +}) \ No newline at end of file -- cgit