Adobe Flash Lite 2.0内容优化的技术白皮书

  Adobe Flash Lite 2.0内容优化的技术白皮书
  已知问题:
  Symbian S60 v2手机的时间分辨率是1/64,这代表flash lite的fps设成64,32,21.3,16,12.8等比较适合。
  要记得:
  swf的尺寸要与屏幕尺寸相同,且输出格式要设定正确。
  当interval与listner不需要的时候,记得要用clearInterval或removeListener,就算是要用unloadMovie或removeMOvieclip移除内容也一样。
  如果在两个frame当中有不同的内容,则使用不同的movie clip会比用把一堆内容都放在时间轴的不同frame上来得好。
  局部变量的访问速度高于全局变量,如果可能的话,在变量前记得加上var。
  避免使用匿名函示,如:myObj.eventName=function(){…}。先定义函示再使用执行效率会较高。function myFunc(){…};myObj.eventName=myFunc;
  不要缩放与旋转位图,因为flash lite对位图的缩放旋转效果不佳。
  因为行动装置的颜色深度通常只有16bit,和计算机上的24或32bit有一段差距,所以在装置上显示的渐层会有不连续的现象。可采用一些免费的第三方软件(如:Telegraphics 5_6_5 Filter)
来做抖色处理。
  内容优化:
  尽可能使用位图代替向量图,因为位图算图较快。
  JPG图形解压很耗费效能,如果内存够的话,可以使用PNG。
  尽量少用透明的PNG图形,因为透明的pixel会需要一直重新算图。另外,当透明PNG是显示一个元素时,周围都是透明像素时,也要注意实际的尺寸。
  减少使用渐层色。线性渐层的算图速度快于圆形渐层。
  减少使用复杂的向量图形,如果一定要用的话,记得要将图形优化。最常见的最法是将向量图形转为位图。
  直线的指令周期优于曲线,所以尽量在图形的边缘使用直线,尤其是向量图形很小的时候。
  色块只需要计算外框。线段则需要计算外框和内缘。所以尽量避免使用线段。
  文字是一种复杂的向量图形。所以如果文字不需要缩放旋转,请将文字转成位图或嵌入文字。
  动态文字断行是非常耗费效能的工作。在静态文字内,因为断行已经先在计算机上处理过了,所以没有问题。所以如果情况允许,尽量使用静态文字。
  避免使用_alpha﹦0或_visible=false甚至把它藏在其他图形之后的方式来隐藏movie clip。因为就算如此,Flash Lite Player还是需要运算这部份。要完全将movie clip移除,请用removeMovieClip。
  尽量让动画变动的范围越小越好,因为Flash Lite处理的效能与画面上变动的范围有关。可使用Flash 8的show redraw region功能来察看变动范围。
  将点阵与向量图所在的图层安排在一起。因为Flash Lite Player处理这两种图层的方式不同,都放在一起可以减少切换的时间消耗。
  移除不需要的图形与程序代码,让原始码更干净,也对执行效能有正面帮助。
  虽然在PC上大家都习惯将所有内容都放在第一个frame上,不过在行动装置上会导致开启档案时有延迟的现象。最好的方式是当内容需要时再做初始化的动作。
  Math对象与浮点运算极耗资源,尽量减少使用。
  重复的数学运算结果可以先预先运算,将结果存于变量或数组中,这样会比实时运算来的快。
  将for循环内执行的程序代码拆成多个for循环,可增加执行效能。
  减少读取解析XML档案,因为这也极耗效能。可改用loadVars方式读取变量与值配对的文本文件。

关键字: ,

发表评论

打开HTML   打开UBB   打开表情   隐藏   记住我
               
emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot