Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 大纹理网格首次加载时的三个js延迟_Javascript_Three.js_Webgl_Game Engine - Fatal编程技术网

Javascript 大纹理网格首次加载时的三个js延迟

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

创建特定网格并将其添加到场景时,我遇到大约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},
    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中预加载图像?