não está disponível nas versões mais recentes do Internet Explorer no Windows ou Chrome / Safari / Firefox no OS X 10.9. Não me interpretem mal - sua resposta é perfeitamente válida em alguns navegadores Windows - é apenas que as consultas de timer não estão disponíveis em nenhuma outra plataforma WebGL no momento: - \ WebGL / OpenGL: comparando o desempenho

Para fins educacionais, preciso comparar o desempenho do WebGL com o OpenGL. Eu tenho dois programas equivalentes escritos em WebGL e OpenGL, agora preciso pegar a taxa de quadros deles e compará-los.

Em Javascript eu usorequestAnimationFrame para animar, e notei que isso faz com que a taxa de quadros esteja sempre a 60 FPS e diminui apenas se eu alternar a guia ou a janela. Por outro lado, se eu sempre chamar a função render recursivamente, a janela congela por razões óbvias.

É assim que estou tomando o 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();

Agora, o problema de ter sempre a cena a 60 FPS é que não posso compará-la com a taxa de quadros do OpenGL, pois o OpenGL redesenha a cena apenas quando é modificada de alguma forma (por exemplo, se eu girar o objeto) eglutPostRedisplay() é chamado.

Então, acho que se existe uma maneira no WebGL de redesenhar a cena somente quando é necessário, por exemplo, quando o objeto é girado ou se alguns atributos nos shaders são alterados.

questionAnswers(3)

yourAnswerToTheQuestion