Simulation Troubleshooting
Common issues and solutions for running NCA simulations
1️⃣ Browser Does Not Support WebGPU
Our project relies on WebGPU, a cutting-edge graphics computing tool for web development. Unfortunately, not all browsers support WebGPU yet.
- Unsupported Browsers: Firefox
- Supported Browsers: Chrome for Windows, Microsoft Edge, and Chrome for Android
- Experimentally Supported Browsers: If you are on an iOS or iPadOS device, make sure you are using Safari, and follow this short tutorial: iOS Tutorial
To check if your browser supports WebGPU, visit Can I Use WebGPU?
2️⃣ JavaScript Is Turned Off
Our website requires JavaScript to function. Please enable JavaScript in your browser settings and refresh the page.
1️⃣ Rule String/Kernel Issue
Patterns depend on a delicate balance of life and death, and small changes can destabilize them.
Solution: Try different combinations and use the 'Randomize' button to reset the grid with varied values.
2️⃣ Activation Function Changes
If you modified the activation function, there might be a bug in the code. Ensure the activation function follows WGSL syntax and returns a single float32
value.
Solution: Use your browser's developer tools (Inspect Element) to identify and fix issues.
Device Performance Issue
Devices have varying capacities to handle high frame rates. If you experience lag, reduce the speed setting.
Device Frame Rate Recommendations:
- 400 fps: New laptops with i7 Iris Xe graphics
- 200 fps: Samsung Flip 4
- 40 fps: Motorola Edge 30 (browser limitations may apply)
- 0 fps: Apple devices (no WebGPU support)
1️⃣ Try Selecting 'Skip Every Second Frame'
Patterns like 'worms' and 'mitosis' often alternate between two states, causing flickering.
Solution: Skipping every second frame reduces this effect and helps you observe long-term changes.
2️⃣ Why Does It Run Smoothly at Certain Frame Rates?
To prevent freezes, the display update rate is capped at 50 fps.
- At 1-50, 101-150 fps, etc., you see odd frames.
- At 51-100, 151-200 fps, etc., you see even frames.
Tip: Using 'Skip Every Second Frame' ensures only even frames are displayed, providing smoother visuals.