|
<!DOCTYPE html> |
|
<html> |
|
<head> |
|
<title>Three.js GPU Detector</title> |
|
<meta charset="utf-8"> |
|
<meta name="viewport" content="width=device-width, initial-scale=1"> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script> |
|
<style> |
|
body { |
|
margin: 0; |
|
padding: 0; |
|
} |
|
canvas { |
|
width: 100%; |
|
height: 100%; |
|
} |
|
</style> |
|
</head> |
|
<body> |
|
<script> |
|
|
|
var renderer = new THREE.WebGLRenderer(); |
|
renderer.setSize(window.innerWidth, window.innerHeight); |
|
document.body.appendChild(renderer.domElement); |
|
|
|
|
|
var scene = new THREE.Scene(); |
|
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); |
|
camera.position.z = 5; |
|
|
|
|
|
var geometry = new THREE.BoxGeometry(); |
|
var material = new THREE.MeshBasicMaterial(); |
|
var cube = new THREE.Mesh(geometry, material); |
|
scene.add(cube); |
|
|
|
|
|
var gl = renderer.getContext(); |
|
var extension = gl.getExtension('WEBGL_debug_renderer_info'); |
|
var memory = gl.getParameter(gl.MAX_TEXTURE_SIZE); |
|
var type = gl.getParameter(extension.UNMASKED_RENDERER_WEBGL); |
|
|
|
|
|
var info = document.createElement('div'); |
|
info.innerHTML = 'GPU Memory: ' + memory + '<br>GPU Type: ' + type; |
|
info.style.position = 'absolute'; |
|
info.style.top = '10px'; |
|
info.style.left = '10px'; |
|
info.style.color = '#fff'; |
|
document.body.appendChild(info); |
|
|
|
|
|
function render() { |
|
requestAnimationFrame(render); |
|
cube.rotation.x += 0.01; |
|
cube.rotation.y += 0.01; |
|
renderer.render(scene, camera); |
|
} |
|
render(); |
|
</script> |
|
</body> |
|
</html> |
|
|