0

我正在尝试决定是否应该为某些复杂的可配置业务逻辑规则集生成 AS3 代码,还是应该将它们表示为数据,并在 AS3 中编写状态机来解释它。

我的目标是获得最小的编译 swf 大小。速度不是问题。实现复杂性也不是问题。(当然,两者都在合理范围内。)

我不能透露足够的细节,我知道我可能应该做实验而不是问,但我的问题是:

编译为 swf 时,AS3 源的平均压缩率是多少?每千字节源代码需要多少字节的 swf?

(我完全理解答案充其量只是一个非常粗略的数字。)

4

2 回答 2

1

关于已编译 SWF 的一些事实:

  • 类名被保留
  • 保留成员名称
  • 不保留局部变量名
  • 注释和空格被删除

因此,该比率将取决于标识符、评论甚至制表符或空格偏好的长度。如果您通过混淆器运行结果 SWF,它将类名替换为 A0、A1 等,您应该节省一些字节。

您的状态机想法似乎是最有前途的 - 代码编写一次,规则可以以紧凑的方式编写。如果能把小数打包成一个int就更好了(AS3中没有小于4字节的int和uint的整数)。

于 2011-01-29T09:25:15.743 回答
0

请记住,SWF文件已经被 zlib 压缩,因此大多数情况下可能会通过数据方式或代码方式消除任何相对收益。

如果初始加载速度是您所追求的,那么您总是可以提取代码块并根据需要从另一个 SWF 文件加载它。

于 2011-01-29T04:13:31.697 回答