@galacean/effects-plugin-stats 2.0.0-beta.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects runtime stats for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 云垣
6
- * Version: v2.0.0-beta.2
6
+ * Version: v2.0.0
7
7
  */
8
8
 
9
9
  'use strict';
package/dist/index.min.js CHANGED
@@ -3,6 +3,6 @@
3
3
  * Description: Galacean Effects runtime stats for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 云垣
6
- * Version: v2.0.0-beta.2
6
+ * Version: v2.0.0
7
7
  */function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@galacean/effects")):"function"==typeof define&&define.amd?define(["exports","@galacean/effects"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).ge=e.ge||{},e.ge.statsPlugin={}),e.ge)}(this,function(e,t){"use strict";function r(e,t,r,n,s,o,i){try{var a=e[o](i),h=a.value}catch(e){r(e);return}a.done?t(h):Promise.resolve(h).then(n,s)}function n(e,t){return(n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}"function"==typeof SuppressedError&&SuppressedError;var s=function(){function e(e){this.gl=e,this.drawCall=0,this.triangles=0,this.lines=0,this.points=0,this.hooked=!0,this.realDrawElements=e.drawElements,this.realDrawArrays=e.drawArrays,e.drawElements=this.hookedDrawElements.bind(this),e.drawArrays=this.hookedDrawArrays.bind(this),p.options.debug&&console.debug("DrawCall is hooked.")}var t=e.prototype;return t.hookedDrawElements=function(e,t,r,n){this.realDrawElements.call(this.gl,e,t,r,n),this.update(t,e)},t.hookedDrawArrays=function(e,t,r){this.realDrawArrays.call(this.gl,e,t,r),this.update(r,e)},t.update=function(e,t){var r=this.gl;switch(this.drawCall++,t){case r.TRIANGLES:this.triangles+=e/3;break;case r.TRIANGLE_STRIP:case r.TRIANGLE_FAN:this.triangles+=e-2;break;case r.LINES:this.lines+=e/2;break;case r.LINE_STRIP:this.lines+=e-1;break;case r.LINE_LOOP:this.lines+=e;break;case r.POINTS:this.points+=e;break;default:console.error("Unknown draw mode: "+t+". Count: "+e)}},t.reset=function(){this.drawCall=0,this.triangles=0,this.lines=0,this.points=0},t.release=function(){this.hooked&&(this.gl.drawElements=this.realDrawElements,this.gl.drawArrays=this.realDrawArrays,this.hooked=!1)},e}(),o=function(){function e(e){this.gl=e,this.programs=0,this.hooked=!0,this.realUseProgram=e.useProgram,e.useProgram=this.hookedUseProgram.bind(this),p.options.debug&&console.debug("Program is hooked.")}var t=e.prototype;return t.hookedUseProgram=function(e){this.realUseProgram.call(this.gl,e),this.programs++,p.options.debug&&console.debug("UseProgram: "+e+", program: "+this.programs+".")},t.reset=function(){this.programs=0},t.release=function(){this.hooked&&(this.gl.useProgram=this.realUseProgram,this.hooked=!1)},e}(),i=function(){function e(e){this.gl=e,this.shaders=0,this.hooked=!0,this.realAttachShader=e.attachShader,this.realDetachShader=e.detachShader,e.attachShader=this.hookedAttachShader.bind(this),e.detachShader=this.hookedDetachShader.bind(this),p.options.debug&&console.debug("Shader is hooked.")}var t=e.prototype;return t.hookedAttachShader=function(e,t){this.realAttachShader.call(this.gl,e,t),this.shaders++,p.options.debug&&console.debug("AttachShader: "+t+". shaders: "+this.shaders)},t.hookedDetachShader=function(e,t){this.realDetachShader.call(this.gl,e,t),this.shaders--,p.options.debug&&console.debug("DetachShader. shaders: "+this.shaders)},t.reset=function(){this.shaders=0},t.release=function(){this.hooked&&(this.gl.attachShader=this.realAttachShader,this.gl.detachShader=this.realDetachShader,this.hooked=!1)},e}(),a=function(){function e(e){this.gl=e,this.textures=0,this.hooked=!0,this.realCreateTexture=e.createTexture,this.realDeleteTexture=e.deleteTexture,e.createTexture=this.hookedCreateTexture.bind(this),e.deleteTexture=this.hookedDeleteTexture.bind(this),p.options.debug&&console.debug("Texture is hooked.")}var t=e.prototype;return t.hookedCreateTexture=function(){var e=this.realCreateTexture.call(this.gl);return this.textures++,p.options.debug&&console.debug("CreateTexture: "+e+", textures: "+this.textures+"."),e},t.hookedDeleteTexture=function(e){this.realDeleteTexture.call(this.gl,e),this.textures--,p.options.debug&&console.debug("DeleteTexture, textures: "+this.textures+".")},t.reset=function(){this.textures=0},t.release=function(){this.hooked&&(this.gl.createTexture=this.realCreateTexture,this.gl.deleteTexture=this.realDeleteTexture,this.hooked=!1)},e}(),h=function(){function e(e){if(this.gl=e,this.samplingFrames=60,this.samplingIndex=0,this.updateCounter=0,this.updateTime=0,!e)throw Error("Unsupported WebGL context.");this.hook(e)}var t=e.prototype;return t.hook=function(e){this.drawCallHook=new s(e),this.textureHook=new a(e),this.shaderHook=new i(e),this.programHook=new o(e)},t.reset=function(){var e,t;null==(e=this.drawCallHook)||e.reset(),null==(t=this.programHook)||t.reset()},t.release=function(){var e,t,r,n;null==(e=this.drawCallHook)||e.release(),null==(t=this.textureHook)||t.release(),null==(r=this.shaderHook)||r.release(),null==(n=this.programHook)||n.release()},t.update=function(e){var t=performance.now();if(this.updateCounter++,!(t-this.updateTime<1e3)){if(this.samplingIndex!==this.samplingFrames){this.reset(),this.samplingIndex++;return}this.samplingIndex=0;var r={fps:Math.round(1e3*this.updateCounter/(t-this.updateTime)),memory:performance.memory&&performance.memory.usedJSHeapSize/1048576>>0,drawCall:0===this.drawCallHook.drawCall?0:this.drawCallHook.drawCall-1,triangles:0===this.drawCallHook.triangles?0:this.drawCallHook.triangles-2,lines:this.drawCallHook.lines,points:this.drawCallHook.points,textures:this.textureHook.textures,shaders:0===this.shaderHook.shaders?0:this.shaderHook.shaders+1,programs:this.programHook.programs,webglContext:!function e(t,r){return null!=r&&"undefined"!=typeof Symbol&&r[Symbol.hasInstance]?!!r[Symbol.hasInstance](t):e(t,r)}(this.gl,WebGL2RenderingContext)?"1.0":"2.0"};return this.reset(),this.updateCounter=0,this.updateTime=t,r}},e}(),d="\n .gl-perf {\n pointer-events: none;\n user-select: none;\n position: fixed;\n top: 0;\n left: 0;\n padding: "+10/7.5+"vh "+10/7.5+"vh 0 "+10/7.5+"vh;\n background: rgba(0, 0, 0, 0.3);\n color: #fff;\n font: "+10/7.5+"vh arial;\n }\n\n .gl-perf dl,\n .gl-perf dt,\n .gl-perf dd {\n padding: 0;\n margin: 0;\n }\n\n .gl-perf dt {\n color: #fff;\n text-shadow: #000 0 0 1px;\n }\n\n .gl-perf dt .unit{\n font-size: "+10/7.5+"vh;\n }\n\n .gl-perf dd {\n font-size: "+20/7.5+"vh;\n padding: "+10/7.5+"vh 0 "+10/7.5+"vh;\n }\n",l=function(){function e(e){this.items=["fps","memory","drawCall","triangles","textures","shaders","programs","webglContext"],this.data={fps:60,memory:0,drawCall:0,triangles:0,lines:0,points:0,textures:0,shaders:0,programs:0,webglContext:"2.0"},this.core=new h(e),this.createContainer(),this.update=this.update.bind(this)}var t=e.prototype;return t.createContainer=function(){var e=document.createElement("div");e.classList.add("gl-perf"),e.innerHTML='\n <dl>\n <dt>FPS</dt>\n <dd>0</dd>\n <dt>Memory <span class="unit">(MB)</span></dt>\n <dd>0</dd>\n <dt>DrawCall</dt>\n <dd>0</dd>\n <dt>Triangles</dt>\n <dd>0</dd>\n <dt>Textures</dt>\n <dd>0</dd>\n <dt>Shaders</dt>\n <dd>0</dd>\n <dt>Program</dt>\n <dd>0</dd>\n <dt>WebGL</dt>\n <dd></dd>\n </dl>\n',e.appendChild(this.createStyle()),document.body.appendChild(e),this.doms=Array.prototype.slice.apply(e.querySelectorAll("dd")),this.container=e},t.createStyle=function(){var e=document.createElement("style");return e.appendChild(document.createTextNode(d)),e},t.update=function(e){var t,r=this.core.update(e);if(r&&0!==r.drawCall&&0!==r.triangles)for(var n=0,s=this.items.length;n<s;n++)t=this,function(e,n){var s=t.doms[e],o=r[t.items[e]]||0;requestAnimationFrame(function(){s.innerText=String(o)})}(n)},t.reset=function(){var e;this.core.reset();for(var t=0,r=this.items.length;t<r;t++)e=this,function(t,r){var n=e.doms[t],s=e.items[t],o=e.data[s]||0;requestAnimationFrame(function(){n.innerText=String(o)})}(t)},t.release=function(){this.core.release()},t.destroy=function(){this.release(),document.body.removeChild(this.container)},e}(),u=function(e){function t(){return e.apply(this,arguments)}!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}(t,e);var r=t.prototype;return r.start=function(){var e=this.engine.renderer.pipelineContext.gl;this.monitor=new l(e)},r.update=function(e){this.monitor.update(e)},t}(t.Behaviour),c={images:[],fonts:[],version:"3.0",shapes:[],plugins:[],type:"ge",compositions:[{id:"2",name:"stats",duration:5,startTime:0,endBehavior:2,previewSize:[750,1624],items:[{id:"05e1c616baf34cc084968a05703719cd"}],camera:{fov:60,far:40,near:.1,clipMode:1,position:[0,0,8],rotation:[0,0,0]},sceneBindings:[]}],components:[],geometries:[],materials:[],items:[{id:"05e1c616baf34cc084968a05703719cd",name:"component",duration:99999,type:"1",visible:!0,endBehavior:0,delay:0,renderLevel:"B+",components:[],transform:{position:{x:0,y:0,z:0},eulerHint:{x:0,y:0,z:0},anchor:{x:0,y:0},size:{x:1.2,y:1.2},scale:{x:1,y:1,z:1}},dataType:"VFXItemData"}],shaders:[],bins:[],textures:[],animations:[],compositionId:"2"},p=function(){function e(t,r){void 0===r&&(r={debug:!1}),this.player=t,e.options=r,this.init()}return e.prototype.init=function(){var e,t=this;return(e=function(){var e;return function(e,t){var r,n,s,o,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(h){return function(a){if(r)throw TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(i=0)),i;)try{if(r=1,n&&(s=2&a[0]?n.return:a[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,a[1])).done)return s;switch(n=0,s&&(a=[2&a[0],s.value]),a[0]){case 0:case 1:s=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(s=(s=i.trys).length>0&&s[s.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(6===a[0]&&i.label<s[1]){i.label=s[1],s=a;break}if(s&&i.label<s[2]){i.label=s[2],i.ops.push(a);break}s[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],n=0}finally{r=s=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,h])}}}(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,t.player.loadScene(c)];case 1:return null==(e=r.sent().getItemByName("component"))||e.addComponent(u),[3,3];case 2:throw Error("Failed to load stats scene: "+r.sent().message+".");case 3:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(s,o){var i=e.apply(t,n);function a(e){r(i,s,o,a,h,"next",e)}function h(e){r(i,s,o,a,h,"throw",e)}a(void 0)})})()},e}();e.Stats=p,Object.defineProperty(e,"__esModule",{value:!0})});
8
8
  //# sourceMappingURL=index.min.js.map
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects runtime stats for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 云垣
6
- * Version: v2.0.0-beta.2
6
+ * Version: v2.0.0
7
7
  */
8
8
 
9
9
  import { Behaviour } from '@galacean/effects';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/effects-plugin-stats",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0",
4
4
  "description": "Galacean Effects runtime stats for the web",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "registry": "https://registry.npmjs.org"
29
29
  },
30
30
  "devDependencies": {
31
- "@galacean/effects": "2.0.0-beta.2"
31
+ "@galacean/effects": "2.0.0"
32
32
  },
33
33
  "scripts": {
34
34
  "dev": "vite",