- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 PNGEncoder 将 bitmapData 对象编码为 png ByteArray,以便我可以将数据发送到服务器。除了 bitmapData 是 4000x4000px 之外,一切都很好,当我在其上运行 PNGEncoder.encode 函数时,整个应用程序在运行时会停止(UI 被阻止)5-8 秒。有没有人对如何不让它阻塞如此糟糕有任何建议,我阅读了有关分块进程的信息(因为您不能在 AS3 中使用多线程),但找不到有关分块进程的任何示例代码。
谢谢,
山姆
最佳答案
主要有两种方法可以做到这一点。
a) 使用像素弯曲器:
您可以将工作卸载到像素弯曲器(as3 中的一种类似阴影的语言)。这具有在某些情况下使用 GPU 的优势,但它也是异步和非阻塞的(在另一个线程上运行)。但它确实需要玩家 10+。我还没有看到像素弯曲器 png 编码器,老实说,这可能是不可能的(我对 png 编码不够熟悉,无法判断),但它可能是一种选择。这是性能方面的最佳选择。更多信息 here
b) 使用分块。基本上,您重写编码器以对块(行、列或较小区域)进行编码,并将其 Hook 到输入帧事件,您将在编码器上调用下一个帧,直到没有更多的编码要做。 Zeh 有一个简洁的 LWZ chunked encoder 源代码,可以让您深入了解细节。
干杯
亚瑟
关于apache-flex - Actionscript PNGEncoder 性能和 UI 阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1480021/
我正在使用 native Flash PNGEncoder 库将字节数组编码为 PNG,每张图像大约需要 300 毫秒。有什么我可以做的不同的事情来加快它的速度还是有另一个更快的库? 这是我的代码:
我正在尝试使用 PNGEncoder 将 bitmapData 对象编码为 png ByteArray,以便我可以将数据发送到服务器。除了 bitmapData 是 4000x4000px 之外,一切
我是一名优秀的程序员,十分优秀!