所有
我已经开发了多年的Flash应用程序,这是我一直想知道的事情。
我尽可能小心地尽量减少应用程序使用的“开销”。 (通过开销,我通常指RAM,cpu处理工作,下载数据等)。我的目标是尽可能少地消耗用户的PC资源。
所以,我很小心:
(我知道,我知道......这里所有的反Flash人员都会说,“怎么'不使用Flash!”)
是否有关于各种屏幕元素消耗多少开销的粗略指导?
例如......假设我有一个可能需要根据应用程序的状态进行更改的屏幕元素。将它作为动态文本字段而不是影片剪辑是否会减少资源消耗?
或者,我经常花费额外的时间使用Actionscript创建复杂的屏幕,而不是在设计时在IDE中创建它们,因为我天真地认为代码比预先放置在舞台上的元素更紧凑/更少开销。
或者,对于静态元素,我通常使用静态文本,因为我天真地认为它比动态文本字段更少资源。但是,使用动态文本字段给我提供了额外的灵活性,而不是我在后续版本中可能会欣赏的。我真的在这里保存任何东西吗?
或者,按钮与电影剪辑怎么样?那么“设备字体”与“位图字体”对比“动画的反别名”与“可读性的反别名”呢?
我通常会使用任务管理器的性能监视器,但它似乎对小变化不敏感,并且很难在比较之前/之后创建受控制的。
同样重要 - 我认为movieclip比静态文本字段有更多的开销。然而,差异是否值得担心?我是否在浪费编程时间试图保存一些没有人会注意到的字节/ CPU周期?
一个很好的比喻......我曾经非常小心地存储数据。但现在,存储空间非常便宜,不值得担心。关注性能,可维护性等更为重要。
所以 - 在Flash中 - 是否值得花费数小时试图将剪辑数量从500减少到400?或者,差异是微不足道的吗?
我很欣赏这种情况很重要 - 亚马逊网站或Twitter.com上的几页KB“页面权重”比每月获得几百名访问者的网站更重要。但总的来说,有没有很好的工具来衡量这种类型的东西?好准则?
非常感谢提前!
答案 0 :(得分:1)
嗯,这取决于一个类在层次结构方面的深度,即DisplayObjectContainers将占用更多的资源然后DisplayObjects,因为前者具有比后者更多的变量和功能。因此,如果您需要显示一些图形,但不希望在swf过程中更改它,那么最好将其设置为Shape而不是MovieClip或Sprite。按钮显然比MovieClips和Sprites便宜,Sprites比MovieClip便宜(因为Sprites只有一帧)。因此,在为您的要求选择合适的课程时要小心谨慎。事件可能有弱参考。