|
这是一段移动图片的代码
图片是64*64的。
string file = @"D:\d.JPG";
te = TextureLoader.FromFile(de, file);
int a = 0;
if (a == 0)
{
for (int i = 0; i < 500; i++)
{
de.Clear(ClearFlags.Target, Color.Blue, 1.0f, 0);
de.BeginScene();
sp.Begin(SpriteFlags.AlphaBlend);
sp.Draw2D(te, Rectangle.Empty, new Rectangle(0, 0, 64, 64), new Point(i, 0), Color.White);
sp.End();
de.EndScene();
de.Present();
Application.DoEvents();
}
}
if (a == 1)
{
Bitmap bm = new Bitmap(panel1.Width, panel1.Height);
Graphics g = Graphics.FromImage(bm);
for (int i = 0; i < 500; i++)
{
g.DrawImage(Image.FromFile(file), i, 0);
e.Graphics.DrawImage(bm, 0, 0);
Application.DoEvents();
}
}
}
前者是DX绘图。后者是GDI+。
但是在移动速度上后者比前者快好几倍~~
是不是我的代码有什么地方不对?
|
|