8

这似乎是一个奇怪的问题,我不知道图像的格式,所以我会继续问......

我正在制作一个使用按钮网格的扫雷游戏(也与不同的事物相关),然后我使用backgroundImage. 如果网格是 9x9 就可以了。15x15 它会减慢速度,而 30x30 你可以明显地看到正在加载的每个按钮。

这引发了我的问题:哪种图像格式加载速度最快?显然,文件大小会影响加载速度,但是,我想知道,例如,jpeg(与 gif 文件大小相同)是否会加载得更快。或 bmp、png 等。

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

谢谢!

4

4 回答 4

8

您需要一种绘制速度更快的图像格式。只有一种,它的像素格式直接匹配视频适配器的设置,这样就可以直接复制像素数据而无需调整格式。

在大多数现代机器上,这是 PixelFormat.Format32bppPArgb。它的绘制速度比所有其他的快十倍。

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

请注意,如果网格中的每个单元格都是控件,这仍然不会为您提供出色的绘制速度。特别是如果它是一个按钮,它们的绘制成本非常高,因为它们支持透明效果。如果您在一个 Paint 事件处理程序中绘制整个网格,您只会在这里取得成功。就像表格一样。

一个完全不同的方法是用这个 hack来掩盖可见的延迟。

于 2012-11-01T12:09:37.813 回答
3

使用 8 位 PNG 或 GIF 格式并减少调色板中的颜色数量。一些图像程序(例如 PhotoShop)允许您将图像保存到网络并微调图像设置。通过将调色板从 256 减少到类似 32,您可以大大减小文件的大小。图像的颜色越少,文件大小就越小。

PNG 有一个类似的功能,称为“隔行扫描”。您可能需要关闭此功能,以便更快地下载完整图像。

因为 8 位 PNG 和 GIF 格式可能会产生更小的图像文件,所以在为您的应用程序创建图形和插图时请尽量记住这一点。尽量减少颜色数量并使用平面图形而不是照片。通过这种方式,您可以使用 16 种颜色的调色板创建图像,从而使文件大小极小且加载速度极快。

最好的祝福

于 2012-11-01T12:12:12.120 回答
1

每次绘制按钮时都重新加载图像吗?如果是这样,那就是你的问题 - 用缓存解决它。

您是否以原始尺寸绘制图像?运行时重采样会影响性能。

于 2012-11-01T12:23:40.703 回答
0

使用 PNG 或 GIF 这是更快的图像类型

于 2012-11-01T12:29:57.707 回答