picturebox.refresh慢慢问题

时间:2011-07-30 13:02:17

标签: c# picturebox

我用C#编写了一个俄罗斯方块游戏。我正在使用下面的代码在图片框中绘制形状。

graphics g
g = pictureBox1.CreateGraphics();

我正在通过计时器代码清理每一秒来绘制形状的下一步。    我的问题是:它正在慢慢地运行picturebox.refresh()命令和扭曲的显示。我该怎么办?

我试过下面的功能。但是,它没有用。我有同样的问题。

public void EnableDoubleBuffering()
    {
        // Set the value of the double-buffering style bits to true.
        this.SetStyle(ControlStyles.DoubleBuffer |
           ControlStyles.UserPaint |
           ControlStyles.AllPaintingInWmPaint,
           true);
        this.UpdateStyles();
    }

2 个答案:

答案 0 :(得分:1)

您正在绘制的方式,您正在使用GDI绘制图片(基本上使用软件来渲染游戏图形)。与普通游戏相比,这将会很慢,因为大多数游戏都使用DirectX或OpenGL在硬件级别快速地将数据快速地传输到视频卡。我建议学习Microsoft XNA并在XNA中编写游戏,这是基于C#并提供了一个很好的内容管道来完成您想要做的事情。

答案 1 :(得分:0)

我遇到了同样的问题。解决方案是您必须在另一个位图中绘制新图片,完成后,将其绘制在图片框中。