Efficiently draw a grid in Windows Forms

Posted by Joel on Stack Overflow See other posts from Stack Overflow or by Joel
Published on 2010-05-02T13:02:57Z Indexed on 2010/05/02 13:07 UTC
Read the original article Hit count: 178

Filed under:
|
|
|

I'm writing an implementation of Conway's Game of Life in C#. This is the code I'm using to draw the grid, it's in my panel_Paint event. g is the graphics context.

for (int y = 0; y < numOfCells * cellSize; y += cellSize)
{
     for (int x = 0; x < numOfCells * cellSize; x += cellSize)
     {
          g.DrawLine(p, x, 0, x, y + numOfCells * cellSize);
          g.DrawLine(p, 0, x, y + size * drawnGrid, x);
     }
}

When I run my program, it is unresponsive until it finishes drawing the grid, which takes a few seconds at numOfCells = 100 & cellSize = 10. Removing all the multiplication makes it faster, but not by very much.

Is there a better/more efficient way to draw my grid?

Thanks

© Stack Overflow or respective owner

Related posts about c#

Related posts about graphics