0 0 0

一个好的应用应该提高应用的性能开发

22天前 72

以下是一些建议:

重复使用资源

注意,资源创建和删除在硬件上成本高昂。比如(图像、画刷、字体等)

因此,尽可能重复使用资源。 以游戏开发中的位图创建为例。 通常,在游戏中构成场景的位图都是同时创建的,其中包含以后帧到帧渲染所需的所有不同变体。 在实际场景呈现和重新呈现时,将重复使用这些位图,非必要而不是重新创建。

 备注

不能将资源用于窗口调整大小操作。 调整窗口大小时,必须重新创建一些依赖于缩放的资源(例如兼容的呈现目标和可能的某些层资源),因为必须重绘窗口内容。 这一点对于保持渲染场景的整体质量非常重要。

 

位图

如前所述,资源创建和删除是硬件中非常昂贵的操作。 位图是一种经常使用的资源。 在视频卡上创建位图的成本很高。 重用它们有助于加快应用程序的速度。

创建大型位图

视频卡通常具有最小内存分配大小。 如果请求的分配小于此大小,则会分配此最小大小的资源,并且将浪费多余的内存,并且无法用于其他内容。 如果需要许多小位图,更好的方法是分配一个大位图,并将所有小位图内容存储在此大位图中。 然后,可以在需要较小位图的位置读取较大位图的子区域。 通常,应在小位图之间) 填充 (透明黑色像素,以避免在操作期间较小的图像之间发生任何交互。 这也称为 atlas,它的优点是减少了位图创建开销和小位图分配的内存浪费。 建议将大多数位图保留为至少 64 KB,并限制小于 4 KB 的位图数。

创建位图图集

有一些常见的方案,位图图集可以很好地服务。 小位图可以存储在大位图中。 如果需要,可以通过指定目标矩形将这些小位图从较大的位图中提取出来。 例如,应用程序必须绘制多个图标。 与图标关联的所有位图都可以预先加载到大型位图中。 在呈现时,可以从大位图中检索它们。

 

最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!