PIXI.autoDetectRenderer TypeError: gl.getInternalformatParameter is not a function

PIXI.autoDetectRenderer TypeError: gl.getInternalformatParameter is not a function

在 Safari 14.1 中尝试 运行 PIXI.autoDetectRenderer 时出现以下错误

[Error] Unhandled Promise Rejection: TypeError: gl.getInternalformatParameter is not a function. (In 'gl.getInternalformatParameter(gl.RENDERBUFFER, gl.RGBA8, gl.SAMPLES)', 'gl.getInternalformatParameter' is undefined)
    (anonymous function) (main.c39d6dcf.js:27763)
    (anonymous function) (main.c39d6dcf.js:21272)
    (anonymous function) (main.c39d6dcf.js:27454)
    (anonymous function) (main.c39d6dcf.js:27467)
    Renderer (main.c39d6dcf.js:33069)
    (anonymous function)) (main.c39d6dcf.js:33104)
    PixiWorld (main.c39d6dcf.js:92750)
    init (main.c39d6dcf.js:94076)
    init
    active (main.c39d6dcf.js:56402)
    K (main.c39d6dcf.js:56314:675)
    na (main.c39d6dcf.js:56317:376)
    (anonymous function) (main.c39d6dcf.js:56316:788)
   (anonymous function)
    (anonymous function)) (main.c39d6dcf.js:56314:1641)
    promiseReactionJob

这是我们使用的代码

    this.renderer = PIXI.autoDetectRenderer(
        {width: App.WIDTH, 
         height: App.HEIGHT, 
         backgroundColor: 0x0b3a21, 
         view:document.getElementsByTagName("canvas")[0] as HTMLCanvasElement | undefined}
    );

我们用的是pixi 5.3.3

这曾经工作得很好,但随着最新的 safari 更新而中断。我们该如何解决这个问题?

原来我们必须强制使用 webGL1。感谢PIXI论坛的Exca

const isSafari = window.safari !== undefined;
if(isSafari){
    PIXI.settings.PREFER_ENV = PIXI.ENV.WEBGL;
}