首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测three.js在渲染过程中抛出错误?

问如何检测three.js在渲染过程中抛出错误?
EN

Stack Overflow用户
提问于 2019-08-31 01:13:08
回答 1查看 300关注 0票数 0

在使用three.js做一些工作时,我注意到了一些限制,这取决于运行代码的客户端。一个例子是,如果我有很多MeshPhongMaterial和Light,并在低端笔记本电脑/手机上试用,我会得到着色器错误。有时requestAnimationFrame()会完全停止执行,有时我只会得到带有此错误的墙和墙(以及WebGL警告)。

我的问题是,是否有可能捕获这些错误?使用try-catch编写了一个小的压力测试脚本,但是即使在出现错误和警告之后,catch也不会被调用。

代码语言:javascript
复制
var rendering = function()
{
    lights.push(new THREE.PointLight());
    lights[lights.length-1].position.set((Math.random()*10)-5,(Math.random()*10)-5,(Math.random()*10)-5);
    scene.add(lights[lights.length-1]);
    try
    {
        renderer.render(scene,camera);
    }
    catch(e)
    {
        console.log("Limit!"); // never shown
    }
    requestAnimationFrame(rendering);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-31 01:16:06

console.error = yourFunction() console.warning = yourFunction()

检查其中的消息,并对其执行某些操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57730815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档