gpt4 book ai didi

apache-flex - Actionscript PNGEncoder 性能和 UI 阻塞

转载 作者:行者123 更新时间:2023-12-04 19:59:18 28 4
gpt4 key购买 nike

我正在尝试使用 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com