如何解决自定义DEFLATE实现可加速PNG编码
| 我正在优化在Flash SWF中使用的PNG编码器(但我是用Haxe编写的)。 到目前为止,我主要通过使用快速的内存读/写来设法加快了速度。 在对代码进行性能分析时,我注意到大约有75%的时间花费在对Flash的内置compress()方法的一次调用中,该方法使用zlib算法(依次使用DEFLATE)。 我对压缩率不太挑剔,但是更快的压缩将是很棒的。因此,我想知道自己尝试实现zlib / DEFLATE是否值得。稍加搜索就可以找到zlib C实现源,但是它的读数并不准确(或者很容易移植!)。 我可以使用zlib / DEFLATE的任何简单实现作为起点吗?我宁愿不必花时间去看这两个规范,特别是因为我不知道在AVM2中运行的实现是否可以像最初的本机Flash一样快地运行。解决方法
我认为使用非本地deflate算法将无法获得更好的性能。不过,您也许可以异步运行它,这可能会有所作为。如果您想移植它,我认为最好找到一个AS3或JavaScript实现,例如https://github.com/dankogai/js-deflate。祝好运!
, 我最终从头开始实现deflate / zlib,并刚刚发布了它,并在GitHub(README)上发布了基于它的PNG编码器。我还写了一篇有关PNG编码器的博客文章,其中有一个基准将其与其他编码器进行比较。
压缩实现包含在DeflateStream.hx中,并且确实可以显着加快编码过程的速度(并使其完全异步)。
, 尝试使用fzip或ascompress
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。