Sentry/assets/coffee/gpu.coffee
2022-08-23 19:13:49 -04:00

40 lines
1.2 KiB
CoffeeScript

si = require('systeminformation')
window.onload = () ->
# Set the option selector to trigger an info grab on element change
document.getElementById('gpuSelector').addEventListener('change', () ->
updateGpuInfo(@value)
)
# Load GPUs into the selector
loadGpus()
# Run the updateGpuInfo function with the default value of 0
updateGpuInfo()
loadGpus = () ->
si.graphics()
.then((data) ->
i = 0
while i < data.controllers.length
optionElem = document.createElement('option')
optionElem.innerText = data.controllers[i].model
optionElem.setAttribute('value', i)
document.getElementById('gpuSelector').appendChild(optionElem)
i++
console.log(data)
).catch((error) ->
console.error(error)
)
updateGpuInfo = (gpuId = 0) ->
si.graphics()
.then((data) ->
document.getElementById('gpuInfo').innerText = data.controllers[gpuId].model
document.getElementById('gpuVendor').innerText = data.controllers[gpuId].vendor
document.getElementById('gpuVram').innerText = data.controllers[gpuId].vram + 'MB'
document.getElementById('gpuBus').innerText = data.controllers[gpuId].bus
).catch((error) ->
console.error(error)
)