Look, the second for the algorithm is not fast, the second is the whole processor core occupied in a second, billions of cycles. Now imagine that every step of your algorithm, which takes one million seconds, must be weighted by redrawing the entire field, which is a hard ui-operation. Another experiment - count the total number of steps that the algorithm needs, divide it into 30 (30 frames per second - the maximum that can catch human eyes). So, if you really want to show the user every step, you will get the time it takes, and it will be huge. So without fear of skipping steps, and draw every hundredth / thousandth step, you can do a specific highlight so that, for example, the user sees all the cells counted for missing steps at once, for example - highlighted in a different color.
Well, if you really just want to optimize - instead of redrawing the entire field, you can redraw only the updated cell.