Start/Stop Generating

Starts or stops generating the current pattern. (This item can also be used to stop a running script, but it's much easier to hit escape or click the tool bar's stop button.)

Next Generation

Advances to the next generation. Note that you can hit control-space to advance only the current selection, or shift-space to advance everything outside the selection (in both cases the generation count will not change).

Next Step

Advances to the next step. The current step size is displayed in the status bar and can be changed by the Faster/Slower items (see below).

Reset

Restores the starting pattern and generation count. It also resets the rule, scale, location, step size, selection, layer name and hashing option to the values they had at the starting generation. The starting generation is typically zero, but it can be larger after loading an RLE/macrocell file that stores a non-zero generation count.

Set Generation...

Brings up a dialog to change the generation count. You can enter readable numbers like "1,234,567". Include a leading +/- sign to specify a number relative to the current generation count.

Faster

Increases the speed by displaying fewer generations. The step size increases by a user-settable factor, initially 8 if the Use Hashing option is ticked or 10 if it isn't. Both factors can be changed in Preferences > Control. Note that the hashing algorithm is most efficient when step sizes are powers of 2.

Slower

Decreases the speed by displaying more generations. The step size decreases by a user-settable factor (see above). If the step size is 1 (n^0) when you select this item then a small delay will occur between each generation. Further slowing will double the delay until a maximum value is reached. Use Preferences > Control to set the minimum and maximum delay times.

Auto Fit

If ticked then Golly will automatically fit a generating pattern inside the view if any part of the pattern moves out of view. This option is only used when doing many generations via Start or Next Step (that's why it's in the Control menu rather than the View menu).

Note that if you are generating a pattern and decide to change scale or do any sort of scrolling then the Auto Fit option is automatically turned off (the assumption being that you now want manual control over the scale and/or location).

TIP: If you find the Auto Fit option too confusing then leave it off and hit "f" to manually fit the pattern inside the view whenever you like.

Use Hashing

If ticked then Golly will use a hashing algorithm to generate patterns. The algorithm performs brilliantly on patterns that have a lot of regularity in time or space. Conversely, it can perform very poorly on chaotic patterns. Hashing mode may initially appear to be slow, but as the hash table fills up with knowledge about the pattern, it will run faster and faster, so be patient.

Use Preferences > Control to set the maximum amount of memory when hashing patterns. The initial setting is 300MB. The higher you set the memory limit, the larger patterns you can run and the farther and faster you can run them. However, setting this limit high also increases the amount of time required to change the step size (both manually and in hyperspeed mode) and increases the length of the garbage collection pauses. Nonetheless, it is generally best to set this as high as possible — typically 80-90% of the amount of physical memory in your computer. Setting this number high enough often makes more than a difference of 1000 in performance. How high is high enough depends greatly on the pattern and the step size, however, in unpredictable ways.

Note that toggling the hashing option resets the step size to 1 generation. Hashing is automatically turned on after loading a macrocell pattern, and automatically turned off if a loaded rule contains B0 but not S8. You can also use the tool bar's "#" button to toggle hashing.

The status bar background is pale blue when hashing is turned on and pale yellow when it's off. Use Preferences > Color to change these colors.

Hyperspeed

If ticked, and Use Hashing is ticked, then Golly will automatically increase the step size at regular intervals (every 64 steps). Hyperspeed mode is a convenient way to run a complex pattern as far as possible. (For very chaotic patterns, not using hashing may actually run it further.) For highly regular patterns, hyperspeed mode quickly "runs away", generating exponentially fast.

Show Hash Info

Tick this option to turn on status messages that inform you when the hashing algorithm is doing garbage collection, resizing its internal hash table, or changing the step size (which can involve walking the entire hash). The garbage collection messages say which garbage collection it is overall, and if it is a subsequent garbage collection for the same step (the count will be in parentheses), and the percentage of memory reclaimed.

Interpreting these numbers is more an art than a science because some patterns exhibit odd behavior, but in general, if a garbage collection is reclaiming less than 70% of the total memory, or more than ten garbage collections occur for a single step, you can be fairly certain that the algorithm is effectively stalled and further progress will be extremely slow. Reducing the step size may help, but it may need to be reduced substantially in order to have an impact. Increasing the maximum memory that hashing can use may also help.

Set Rule...

Brings up a dialog to change the current rule (which is displayed inside square brackets in the main window's title bar). Rules can be entered using standard "B0..8/S0..8" notation. Case is not significant and the S part can come before the B part. For example, Conway's Life rule can be entered as B3/S23 or s23/b3. Alternatively, you can select from a list of named rules.

Golly also supports Wolfram's 1D rules. These can be entered as "Wn" where n is any even number from 0 to 254 (support for odd numbered rules will have to wait for when we allow toroidal universes).