Javascript 大纹理网格首次加载时的三个js延迟
创建特定网格并将其添加到场景时,我遇到大约0.25秒的延迟。所述网格使用4096 x 4096 rgba纹理,并包含在一个简单的2三角形方形几何体中,该几何体由以下各项创建:Javascript 大纹理网格首次加载时的三个js延迟,javascript,three.js,webgl,game-engine,Javascript,Three.js,Webgl,Game Engine,创建特定网格并将其添加到场景时,我遇到大约0.25秒的延迟。所述网格使用4096 x 4096 rgba纹理,并包含在一个简单的2三角形方形几何体中,该几何体由以下各项创建: var geometry = new THREE.PlaneGeometry(this.w/1000*RESOLUTION,this.h/1000*RESOLUTION,1,1); var customUniforms = { time: {type:"f",value:performance.now()/1000
var geometry = new THREE.PlaneGeometry(this.w/1000*RESOLUTION,this.h/1000*RESOLUTION,1,1);
var customUniforms = {
time: {type:"f",value:performance.now()/1000},
tex: { type: "t", value: ResourceManager.get('explosion_spread').tex },
a: { type: "f", value: this.a }
};
var material = new THREE.ShaderMaterial({uniforms:customUniforms,vertexShader:ResourceManager.get('vert_anim'),fragmentShader:ResourceManager.get('frag_anim'),wireframe:false,transparent:true});
this.mesh = new THREE.Mesh(geometry,material);
scene.add(this.mesh);
第一次将这样的网格添加到场景中时只有一个延迟,所有后续添加都是平滑的。我已经使用了类似的代码来预加载纹理:
ResourceManager.threeLoader.load(url,function(t){
items[name].item.tex = t;
});
但这没有帮助。有人知道我如何摆脱最初的滞后吗
请注意,我已经有了一个预加载,游戏不会开始,直到所有的图像,纹理等已经加载。即使如此,所讨论的纹理也只能在游戏后期使用。这听起来像是网络连接相关的问题。。特别是延迟时间看起来像是在使用https协议?。更可能的是,它似乎只发生一次,之后服务器将使用保持活动连接threeLoader.load的意义是什么?如何在三个js中预加载图像?