Loading...
Loading...
Use this skill when understanding how PixiJS v8 renders frames: the systems-and-pipes renderer, the render loop, and how the library adapts to different environments. Covers WebGLRenderer/WebGPURenderer/CanvasRenderer selection, renderer.render() pipeline, environment detection, and pointers to per-topic deep dives. Triggers on: renderer, WebGL, WebGPU, Canvas, render loop, render pipeline, systems, environments, autoDetectRenderer.
npx skill4agent add pixijs/pixijs-skills pixijs-core-conceptspixijs-scene-core-conceptsconsole.log(app.renderer.name); // 'webgl' | 'webgpu' | 'canvas'
app.ticker.add((ticker) => {
sprite.rotation += 0.01 * ticker.deltaTime;
});
const tex = app.renderer.extract.texture({ target: app.stage });
app.renderer.render({ container: app.stage });app.rendererWebGLRendererWebGPURendererCanvasRendererautoDetectRendererrenderer.render()autoStart: falseApplication.init({ preference })pixijs-applicationpixijs-applicationpixijs-tickerpixijs-environmentspixijs-custom-renderingpixijs-scene-core-concepts| Topic | Reference | When |
|---|---|---|
| Choosing a backend | references/renderers.md | Preference forms, per-renderer options, systems and pipes |
| Per-frame execution | references/render-loop.md | Priority order, time units, manual rendering |
DOMAdapterWebWorkerAdapterpixijs-environmentspixijs-application['webgpu', 'webgl']references/renderers.mdDOMAdapter.set(WebWorkerAdapter)app.initpixijs-environmentsautoStart: falseapp.renderer.render(app.stage)references/render-loop.mdUPDATE_PRIORITY.HIGHLOWreferences/render-loop.mdRenderPipepixijs-custom-rendering'pixi.js/unsafe-eval'pixijs-environmentsSystemsRenderPipesRenderPipeapp.ticker.add(fn)TickerPluginapp.render()UPDATE_PRIORITY.LOWNORMALHIGHautoStart: falseDOMAdapterDOMAdapter.set(WebWorkerAdapter)AdapterApplication.initconst app = new Application();
app.init({ width: 800, height: 600 });
console.log(app.renderer.name); // undefined — init() is asyncconst app = new Application();
await app.init({ width: 800, height: 600 });
console.log(app.renderer.name); // 'webgl' | 'webgpu' | 'canvas'Application.init()app.rendererapp.canvasapp.screenconst app = new Application();
await app.init({ width: 800, height: 600 });
DOMAdapter.set(WebWorkerAdapter); // too late — init already allocated resourcesDOMAdapter.set(WebWorkerAdapter);
const app = new Application();
await app.init({ width: 800, height: 600 });init()preferenceawait app.init({ preference: "webgpu" });
// assume WebGPU is active
useWebGPUOnlyFeature(app.renderer);await app.init({ preference: "webgpu" });
if (app.renderer.name === "webgpu") {
useWebGPUOnlyFeature(app.renderer);
}preferencerenderer.name