Tips & troubleshooting: practical notes
Tips & troubleshooting
- WebGL2 is required. Every current browser provides it. If the stage reports a WebGL problem, update the browser or enable hardware acceleration.
- Mobile devices. On a phone-sized screen the app covers itself with a Best experienced on desktop panel and suspends rendering. This guide and the Gallery remain fully usable on a phone.
- Presets require a web server. Opening stochasm.html directly
from disk (file://) leaves the preset list empty, because browsers block
fetchon local files. Paste-import is unaffected, as is the hosted app. - Play disabled after launching an ensemble. Play is disabled while the compiled-core worker pool computes the initial states, and the stage reports Computing initial states meanwhile. The wait scales with the system size, the number of systems and the worker count. The same gate applies after Reset Simulation. Single systems and JavaScript-engine ensembles seed synchronously and are never gated.
- Play is on but nothing moves. A design with no rules cannot evolve, and an amber warning box on the stage says so. Add a rule under Back to Builder.
- Performance. The largest levers, in order. The Measurement rate slider in ensemble mode, which decouples the observable scan from the stepping and is the single biggest gain for large systems, available for both the Multi-Component Lattice and Patchy Discs. The observable group switches in the Compute tab, where Pair correlation function and Union-Find (clusters) are the costly ones for the lattice model and Contacts (first shell), both Union-Find groups and Polymer chains for Patchy Discs. System size and ensemble size. The Compiled C Core switch and # of CPU Workers slider in Builder Step 2, which take effect at the next launch and stay fixed while a run is held. And Auto-tune MC speed or Auto-tune MD speed, offered by the Multi-Component Lattice and Patchy Discs respectively, which select the batch size beyond which more steps add no throughput. Patchy Discs also has a Cell Lists switch, which should stay on except for comparison, since it is an O(N) neighbour search that is bit-identical to the brute-force pair loop.
- The compiled core reads OFF. The Compute tab gives the reason. Either it was switched off in the Builder, or the browser cannot run it, or one of its workers failed earlier in the session, or the configuration exceeds the compiled core’s fixed capacities. In the last three cases an amber note names the cause and the JavaScript engine runs instead. A single 2D Ising lattice runs the compiled core without workers, so it keeps the core in a browser that offers none. Cell Lists can likewise read OFF with the switch on, when the box is smaller than three cells across and the brute-force pair loop is used.
- The two frame rates. Of the pair below the tab icons, gfx counts rendered frames and sim counts completed simulation rounds. The two are decoupled, so a paused simulation correctly reads sim 0 fps. The parenthesis after the sim rate gives the elementary-step throughput across all systems, and below one round per second the readout switches to 1 frame / X s.
- Occupancy edits appear to have no effect. Default initial occupancy is a Builder control and re-seeds the preview immediately. One exception applies. While an imported lattice snapshot is pinned the edit is held, and a green note in the Site types list says the new values apply the next time the lattice seeds randomly. Clearing the snapshot checkbox in the System section seeds randomly at once.
- A floating window has been moved out of reach. Any return to the Launcher or the Builder restores every window to its default position and the Split view divider to even halves.
- Reduced motion. The app honours the operating system’s reduce-motion setting, in which case stage transitions are applied instantly rather than animated.
© Nicholas B. Tito · Stochasm: explore statistical thermodynamics, machine learning, and create digital art.
