{"repo":"munrocket/gl-bench","free":true,"listed":false,"github":"https://github.com/munrocket/gl-bench","clone":"git clone https://github.com/munrocket/gl-bench.git","description":"⏳ WebGL performance monitor with CPU/GPU load.","language":"JavaScript","stars":192,"topics":["webgl","webgl2","performance","profiling","monitor","benchmark","threejs"],"license":"MIT","category":"analytics","readme_excerpt":"gl-bench WebGL performance monitor that showing percentage of GPU/CPU load. Screenshots Examples / e2e tests - webgl - webgl2 - new-loggers - named-measuring - instanced-arrays - float-textures - web-workers Pros and cons Pros Cons ------------------------------------------------------------------ ------------------------------------------ CPU/GPU percentage load Shipped only with ES6 classes Cool themes and loggers Size not so tiny Chart show inactive page or significant performance drop Not too easy to add on a page Two and more measuring in one loop Support for devices with 120+ FPS Web workers support Typescript support It is 2x faster than Stats.js in Chrome accorging to stress test How it works For GPU/CPU synchronization I am use gl.getError(), it is better than gl.readPixels() at least for me. Code is asynchronous and not stall rendering pipeline by hitting CPU limit due to waiting GPU answer, so you can calculate your heavy physics on CPU with this monitor. If you want turn off GPU tracking just press on it with one click. Check online examples/e2e tests to find out how it works. Version 1 used the EXT disjoint timer query extension, but it not supported on some pc anymore. Usage with Three.js Add script on page from npm or jsdelivr/unpkg and wrap monitored code with begin/end marks Using TypeScript Replace import GLBench from 'gl-bench/dist/gl-bench'; into import GLBench from 'gl-bench/dist/gl-bench.module'; Profiling with another WebGL frameworks Custom settings Co","default_branch":null,"files":null,"tree":[],"storefront":"/r/munrocket","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/munrocket/gl-bench/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}