Skip to content

Commit

Permalink
Examples: More clean up. (#27860)
Browse files Browse the repository at this point in the history
  • Loading branch information
Mugen87 committed Mar 2, 2024
1 parent bd43fef commit c2593ed
Showing 1 changed file with 10 additions and 45 deletions.
55 changes: 10 additions & 45 deletions examples/jsm/utils/GPUStatsPanel.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,17 @@
import Stats from '../libs/stats.module.js';

// https://www.khronos.org/registry/webgl/extensions/EXT_disjoint_timer_query/
// https://www.khronos.org/registry/webgl/extensions/EXT_disjoint_timer_query_webgl2/
export class GPUStatsPanel extends Stats.Panel {

constructor( context, name = 'GPU MS' ) {

super( name, '#f90', '#210' );

let isWebGL2 = true;
let extension = context.getExtension( 'EXT_disjoint_timer_query_webgl2' );
if ( extension === null ) {

isWebGL2 = false;
extension = context.getExtension( 'EXT_disjoint_timer_query' );

if ( extension === null ) {
const extension = context.getExtension( 'EXT_disjoint_timer_query_webgl2' );

console.warn( 'GPUStatsPanel: disjoint_time_query extension not available.' );
if ( extension === null ) {

}
console.warn( 'GPUStatsPanel: disjoint_time_query extension not available.' );

}

Expand All @@ -40,40 +32,21 @@ export class GPUStatsPanel extends Stats.Panel {
}

// create the query object
let query;
if ( isWebGL2 ) {

query = gl.createQuery();
gl.beginQuery( ext.TIME_ELAPSED_EXT, query );

} else {

query = ext.createQueryEXT();
ext.beginQueryEXT( ext.TIME_ELAPSED_EXT, query );

}
const query = gl.createQuery();
gl.beginQuery( ext.TIME_ELAPSED_EXT, query );

this.activeQueries ++;

const checkQuery = () => {

// check if the query is available and valid
let available, disjoint, ns;
if ( isWebGL2 ) {

available = gl.getQueryParameter( query, gl.QUERY_RESULT_AVAILABLE );
disjoint = gl.getParameter( ext.GPU_DISJOINT_EXT );
ns = gl.getQueryParameter( query, gl.QUERY_RESULT );

} else {

available = ext.getQueryObjectEXT( query, ext.QUERY_RESULT_AVAILABLE_EXT );
disjoint = gl.getParameter( ext.GPU_DISJOINT_EXT );
ns = ext.getQueryObjectEXT( query, ext.QUERY_RESULT_EXT );

}
const available = gl.getQueryParameter( query, gl.QUERY_RESULT_AVAILABLE );
const disjoint = gl.getParameter( ext.GPU_DISJOINT_EXT );
const ns = gl.getQueryParameter( query, gl.QUERY_RESULT );

const ms = ns * 1e-6;

if ( available ) {

// update the display if it is valid
Expand Down Expand Up @@ -111,15 +84,7 @@ export class GPUStatsPanel extends Stats.Panel {

}

if ( isWebGL2 ) {

gl.endQuery( ext.TIME_ELAPSED_EXT );

} else {

ext.endQueryEXT( ext.TIME_ELAPSED_EXT );

}
gl.endQuery( ext.TIME_ELAPSED_EXT );

};

Expand Down

0 comments on commit c2593ed

Please sign in to comment.