Fallback to Canvas
By default the PixiJS renderer uses the power of hardware acceleration (WebGL), but sometimes you need fallback support for browsers that do not support WebGL or more modern JavaScript features.
Luckily this is possible using a legacy
pixi package.
Install
If using the entire pixi package, make sure to install the legacy package instead of pixi.js
:
npm install pixi.js-legacy
For advanced users using @pixi
scoped modules, make sure to properly import pixi's canvas packages:
import '@pixi/canvas-display';
import '@pixi/canvas-extract';
import '@pixi/canvas-graphics';
import '@pixi/canvas-mesh';
import '@pixi/canvas-particle-container';
import '@pixi/canvas-prepare';
import '@pixi/canvas-renderer';
import '@pixi/canvas-sprite-tiling';
import '@pixi/canvas-sprite';
import '@pixi/canvas-text';
Also note that these will not be installed for you. You will need to install them yourself
npm install @pixi/canvas-display
Usage
Unlike in previous versions (<=6.x
), pixi-react
will automatically defer to the user installed pixi
package(s) for
rendering, so you can continue to use the @pixi/react
and @pixi/react-animated
packages as normal. There's no need to
replace these with different legacy builds.
Verify
Check the PixiJS welcome message in your console to make sure your application is actually running in Canvas, you should see something like:
In PixiJS v7 upwards, this welcome message is disabled by default, to enable it pass through hello: true
in your
application options. If for some reason you specifically want to force canvas rendering in an environment that supports WebGL
then you also need to pass forceCanvas: true
:
<Stage options={{ hello: true, forceCanvas: true }} />