作为一项挑战,我打算纯粹在Visual Studio中制作游戏(使用Visual Basic),但在过去,我注意到GDI +不是最好的渲染工具,但就其本身而言,它是'没事。
在使用GDI +时,我应该使用哪些设置而不使用?以下是我的假设:
InterpolationMode = Drawing2D.InterpolationMode.NearestNeighbor
此选项呈现最快速度是有意义的。
PixelOffsetMode = Drawing2D.PixelOffsetMode.Half
这似乎必须与NearestNeighbor一起使用。
CompositingQuality = ?
我不确定这个。
CompositingMode = ?
再一次,我无法分辨。
SmoothingMode = Drawing2D.SmoothingMode.None
指定无平滑模式可能运行速度最快。
SetClip(ClientRectangle)
将此设置为剪辑是有意义的,因此图形不会在窗体或控件之外绘制。
我的下一点:我注意到添加所有图形代码总是在Private Sub Form1_Paint(sender As Object, e As PaintEventArgs)
中运行得最快在这个空白内做这样的事情有什么好处:(创建一个临时位图并绘制它在屏幕上。)
Using B As New Bitmap(ClientSize.Width, ClientSize.Height, Imaging.PixelFormat.Format32bppPArgb) Using G As Graphics = Graphics.FromImage(B) ' Draw objects onto the bitmap. End Using e.Graphics.DrawImage(B, 0, 0) End Using
我问这个是因为我注意到在创建位图时,您可以指定Imaging.PixelFormat
。是否有一种格式比其他格式更快?
先谢谢大家的帮助。
〜尼克的