diff --git a/modules/core/src/lib/deck.ts b/modules/core/src/lib/deck.ts index 6542d40a1ad..946c63ca375 100644 --- a/modules/core/src/lib/deck.ts +++ b/modules/core/src/lib/deck.ts @@ -375,6 +375,10 @@ export default class Deck { const userOnResize = this.props.deviceProps?.onResize; deviceOrPromise = webgl2Adapter.attach(props.gl, { + // Enable shader and pipeline caching for attached devices (matches _createDevice defaults) + // Without this, interleaved mode (e.g., MapboxOverlay) creates new pipelines every frame + _cacheShaders: true, + _cachePipelines: true, ...this.props.deviceProps, onResize: (canvasContext, info) => { // Manually sync drawing buffer dimensions (canvas is externally managed)