# Question about compatibilityMode and snapshotRendering

**URL:** <https://forum.babylonjs.com/t/question-about-compatibilitymode-and-snapshotrendering/41238>\
**Category:** Questions\
**Tags:** webgpu, bundle\
**Created:** [May 30, 2023, 8:46am UTC](https://forum.babylonjs.com/t/question-about-compatibilitymode-and-snapshotrendering/41238 "2023-05-30T08:46:38Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![wzw](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/wzw/32/32267_2.png) [@wzw](https://forum.babylonjs.com/u/wzw)\
**Post date:** [May 30, 2023, 8:46am UTC](https://forum.babylonjs.com/t/question-about-compatibilitymode-and-snapshotrendering/41238/1 "2023-05-30T08:46:38Z")

</div>

Is there any difference in setting engine.compatibilityMode = false and engine.snapshotRendering = true && engine.snapshotRenderingMode === Constants.SNAPSHOTRENDERING\_FAST in Babylon.js?  
Is my understanding correct:

1. engine.compatibilityMode = false. A GPUBundle will be recorded for each mesh drawing command.
2. engine.snapshotRendering = true && engine.snapshotRenderingMode === Constants.SNAPSHOTRENDERING\_FAST will record the rendering command of one frame to a GPUBundle.

---

<div class="post-metadata">

**Author:** ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)\
**Post date:** [May 30, 2023, 9:05am UTC](https://forum.babylonjs.com/t/question-about-compatibilitymode-and-snapshotrendering/41238/2 "2023-05-30T09:05:27Z")

</div>

Exactly!

These docs may help:

- non compatibility mode: [WebGPU Non Compatibility Mode | Babylon.js Documentation](https://doc.babylonjs.com/setup/support/webGPU/webGPUOptimization/webGPUNonCompatibilityMode)
- snapshot rendering: [WebGPU Snapshot Rendering | Babylon.js Documentation](https://doc.babylonjs.com/setup/support/webGPU/webGPUOptimization/webGPUSnapshotRendering)
