什么图像格式可以c#加载最快?

Ant*_*ara 7 c# performance image winforms

这可能看起来像一个奇怪的问题,我不知道图像的格式所以我会继续问...

我正在制作一个使用按钮网格的扫雷游戏(与不同的东西相关),然后我使用按钮向按钮添加精灵backgroundImage.如果网格是9x9,那很好.15x15它减慢速度和30x30你可以看到每个按钮被加载.

这引出了我的问题:哪种图像格式加载速度最快?显然,文件大小是加载速度的一部分,但是,我正在询问是否,例如,jpeg - 与gif相同的文件大小 - 将加载更快.或bmp,png等

我问这是为了看看我是否可以使用不同的格式更快地加载网格.

谢谢!

Han*_*ant 8

您想要一种绘画速度更快的图像格式.只有一个,其像素格式直接与视频适配器的设置匹配,因此可以直接复制像素数据而无需进行格式调整.

在大多数现代机器上,都是PixelFormat.Format32bppPArgb.它比其他所有的快十倍.

从资源或文件加载图像时,您不会获得该格式,您必须创建它.

请注意,如果网格中的每个单元格都是一个控件,这仍然不会为您提供出色的绘画速度.特别是如果它是一个按钮,它们绘制起来非常昂贵,因为它们支持透明效果.如果您在一个Paint事件处理程序中绘制整个网格,那么您只能在此处获得优势.就像表格一样.

一种完全不同的方法是用这种黑客掩盖可见的延迟.