我正在优化PNG编码器以便在Flash SWF中使用(但我在
Haxe中编写它).
到目前为止,我已经设法加快了速度,主要是使用speedy memory read/writes.
在分析我的代码时,我注意到大约75%的时间用于一次调用Flash的内置compress()方法,该方法使用zlib算法(依次使用DEFLATE).
我对压缩比不是太挑剔,但更快的压缩会很棒.所以,我想知道是否值得尝试自己实现zlib / DEFLATE.一点点搜索已经打开了zlib C实现源,但它并不是简单的轻读(或易于移植!).
有没有我可以用作起点的zlib / DEFLATE的简单实现?我宁愿不必涉及two specs,特别是因为我不知道在AVM2中运行的实现是否甚至可以像原始Flash一样快速执行.
解决方法
我不认为你能用非原生deflate算法获得更好的表现.但是,您可能能够以异步方式运行它,这可能会有所不同.如果你想移植它,我认为最好找到一个AS3或JavaScript实现,如
https://github.com/dankogai/js-deflate.祝好运!