no está disponible en las últimas versiones de Internet Explorer en Windows o Chrome / Safari / Firefox en OS X 10.9. No me malinterpreten: su respuesta es perfectamente válida en un puñado de navegadores de Windows; es solo que las consultas del temporizador no están disponibles en ninguna otra plataforma WebGL en este momento: - \ WebGL / OpenGL: comparando el rendimiento

Para fines educativos, necesito comparar el rendimiento de WebGL con OpenGL. Tengo dos programas equivalentes escritos en WebGL y OpenGL, ahora necesito tomar la velocidad de fotogramas de ellos y compararlos.

En Javascript usorequestAnimationFrame para animar, y noté que hace que la velocidad de fotogramas sea siempre a 60 FPS, y baja solo si cambio de pestaña o ventana. Por otro lado, si siempre llamo a la función de procesamiento de forma recursiva, la ventana se congela por razones obvias.

Así es como estoy tomando el FPS:
var stats = new Stats();
stats.domElement.style.position = 'absolute';
stats.domElement.style.left = '450px';
stats.domElement.style.top = '750px';

document.body.appendChild( stats.domElement );

setInterval( function () {

    stats.begin();
    stats.end();
}, 1000 / 60 );


var render= function() {
    requestAnimationFrame(render);
    renderer.render(scene,camera);
}

render();

Ahora, el problema si siempre tengo la escena a 60 FPS es que en realidad no puedo compararla con la velocidad de fotogramas de OpenGL, ya que OpenGL vuelve a dibujar la escena solo cuando se modifica de alguna manera (por ejemplo, si giro el objeto) yglutPostRedisplay() se llama.

Entonces, supongo que si hay una forma en WebGL para volver a dibujar la escena solo cuando sea necesario, por ejemplo, cuando se gira el objeto o si se cambian algunos atributos en los sombreadores.

Respuestas a la pregunta(3)

Su respuesta a la pregunta