【问题标题】:Pixi.js sometimes throws an error: WebGL unsupported in this browserPixi.js 有时会抛出错误:WebGL unsupported in this browser
【发布时间】:2022-01-04 05:18:57
【问题描述】:

网站在终端不断运行,有时报如下错误

WebGL unsupported in this browser, use "pixi.js-legacy" for fallback canvas2d support.

但是在加载页面的时候,一个message appears关于webgl2的使用。我无法捕捉到类似的错误,但用户有时会得到它。

我已启用 pixi.js 6.1.3 和硬件加速

可能是什么问题?

【问题讨论】:

  • 错误不是很清楚吗?

标签: javascript canvas webgl pixi.js webgl2


【解决方案1】:

PixiJS 需要模板缓冲区来初始化,而支持 WebGL 的设备并不总是支持模板缓冲区。请参阅 PixiJS 源代码中 isWebGLSupported 函数的源代码,特别是以下几行:

const contextOptions = {
    stencil: true,
    failIfMajorPerformanceCaveat: settings.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT,
};

如果要支持没有模板的 WebGL 设备,您可能会做的是覆盖创建 Renderer 实例的 PixiJS 函数,并在 contextOptions 中使用 stencil: false。我说的是Renderer.create() 函数。

请注意,禁用模板缓冲区 PixiJS 可能无法正常工作或根本无法工作,具体取决于其编写方式。 PixiJS 中使用 Stencil 缓冲区进行遮罩,所以如果您不使用遮罩,您可能会没事。

这个 PixiJS 问题已经被报告:https://github.com/pixijs/pixijs/issues/5902

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 2016-01-04
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    相关资源
    最近更新 更多