【问题标题】:AS3 CPU performance of JPG vs PNGJPG 与 PNG 的 AS3 CPU 性能
【发布时间】:2013-06-25 00:31:24
【问题描述】:

我无法找到有关此主题的任何信息。

那么,就运行时性能而言,哪一个更好:JPG 还是 PNG?有什么区别吗?有人做过测试吗?

一个方面是在将 JPG 或 PNG 加载到 BitmapData 时使用了多少 CPU。我认为两者在加载到 BitmapData 时都会转换为原始像素数据,因此 JPG 作为一种压缩格式会占用更多的 CPU 周期。

另一方面是渲染。如果我的直觉确实是正确的,那么渲染成本应该没有区别。

你怎么看?

【问题讨论】:

  • 您是否在寻求一个涉及尽可能多方面的答案?例如,我怀疑两者之间的差异在将透明 PNG 的像素复制到位图时会更加明显。
  • 是的,显然 Alpha 通道添加了更多数据。它应该会影响 CPU 性能……但是会影响多少?
  • 基准测试在这里很容易做到,尽管我不确定 PNG 和 JPEG 之间的关系是如何工作的;即我不确定与没有 alpha 通道的 PNG 相比,与具有 alpha 通道的 JPEG 相同尺寸的 PNG 是否同样不同。这可能会使 JPEG 和 PNG 的基准测试结果难以准确地相互关联。
  • @MartyWallace 我想他问的是用多少时间来预处理 JPG 和 PNG,以及用多少时间将生成的位图数据渲染到其他地方。我会说他应该放弃第一部分,只专注于第二部分。
  • @Vesper 当然。我的意思是,虽然你可以在不同的场景中渲染两者并测试各自的性能,但PNG和JPEG之间的关系以及每次渲染的结果是什么?我怀疑与 JPEG 相比,PNG 有更多的变量会影响渲染。

标签: image actionscript-3 air png jpeg


【解决方案1】:

查看杰克逊·邓斯坦 (Jackson Dunstan) 的这些出色帖子。我复制了与该主题相关的主要结论:

http://jacksondunstan.com/articles/2117:

JPEG 是加载/解压缩最快的格式。它的速度是 PNG 的三倍以上

http://jacksondunstan.com/articles/2134:

上周的文章称 PNG 的加载速度比 JPEG 慢 3 倍。但是,这仅适用于 ARGB(全彩)PNG。灰度 PNG 比 ARGB PNG 快 40%,索引时间不到 ARGB PNG 的一半。

因此,如果您不打算使用 alpha 通道,则使用 JPG 会更好地提高 CPU 性能。

【讨论】:

  • 优秀。但是渲染呢?解压后两者有区别吗?
  • 解压后都是BitmapData,所以渲染速度没有任何区别,只是alpha像素占用资源较多,flash必须计算所有下划线像素才能得到最终结果。
猜你喜欢
  • 2010-11-10
  • 2010-11-09
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
  • 2011-12-23
  • 2011-08-28
  • 2011-03-01
  • 1970-01-01
相关资源
最近更新 更多