如何清理PixiJS在浏览器窗口关闭引用?

问题描述 投票:0回答:1

我有ReactJS的应用程序,这是使用PixiJS 4.当然,我打电话stage.destroy(true)以及从canvas元素移除渲染视图和销毁渲染当我的脚本不再需要它。但是,我怎么能清理这一切的情况下,用户只要关闭浏览器窗口/标签?貌似ReactJS生命周期程序不提供这样的回调。

javascript reactjs pixi.js
1个回答
0
投票

当浏览器窗口关闭,你的程序是已经死掉了,浏览器会自动释放该页面和JS在该网页上执行使用的任何资源。所以你不必担心这种情况。

如果你是迂腐,然后附加一个事件侦听器onBeforeUnload,做你清理有:Run JavaScript code on window close or page refresh?

如果你担心HTML 3D画布背景下,阅读介绍如何释放的WebGL上下文这个PixiJS问题:https://github.com/pixijs/pixi.js/issues/2233

我会在这里总结一下吧。当然,这对每个浏览器不同:

火狐似乎支持this technique给力的背景下损失:

gl.getExtension('WEBGL_lose_context').loseContext();

然而,lose_context()仅仅是一个模拟(根据规范),但在这个线程(Public WebGL: WEBGL_lose_context我们学会(来自Mozilla开发者杰夫·吉尔伯特)在Firefox loseContext() is a byword for "release this context and its resources"

问题是,其他浏览器不同的方式处理这个。有来自谷歌开发者(肯拉塞尔)推荐意见:Please use the explicit delete* APIs on the WebGLRenderingContext to release GPU resources that your application is no longer using.

搜索更多这样的错误:“警告:过多的活动WebGL的上下文语境最老会丢失。”可能会产生更深入地了解它。

© www.soinside.com 2019 - 2024. All rights reserved.