【发布时间】:2010-05-02 13:02:57
【问题描述】:
我正在用 C# 编写康威生命游戏的实现。这是我用来绘制网格的代码,它在我的 panel_Paint 事件中。 g 是图形上下文。
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);
}
}
当我运行我的程序时,它在完成绘制网格之前没有响应,在 numOfCells = 100 & cellSize = 10 时需要几秒钟。删除所有乘法会使其更快,但速度不会很快。
有没有更好/更有效的方法来绘制我的网格?
谢谢
【问题讨论】:
-
如果您只是在 IDE 中单步执行此操作,您将能够回答您自己的问题。
-
这太有趣了。我只是认真地为
game of life编写了添加单元格的东西,并搜索了一种绘制网格的方法。我看到的第一件事是有人要求为game of life绘制网格:D。
标签: c# optimization graphics drawing