Right now, each time the grid is displayed, each cell is individually asked for it's node type and the image is updated. This seems inefficient - rather, updating the cell in the image each time the cell is changed could be more efficient.
In the branch 'observer' I have implemented exactly this, and the results are:
test1: 'full', max_time = 30, speed = minimum
full image update: 11.5 seconds (average of two runs)
per cell update: 16.7 seconds (average of two runs)
test2: 'grow' max_time = 1000, speed = maximum
full image update: 18 seconds (average of two runs)
per cell update: 19.5 seconds (average of two runs)
So it seems, that this update to the code does not yield improved speed.
Right now, each time the grid is displayed, each cell is individually asked for it's node type and the image is updated. This seems inefficient - rather, updating the cell in the image each time the cell is changed could be more efficient.
In the branch 'observer' I have implemented exactly this, and the results are:
test1: 'full', max_time = 30, speed = minimum
test2: 'grow' max_time = 1000, speed = maximum
So it seems, that this update to the code does not yield improved speed.