|
关于“流”式播放及优化技术 |
|
这部分绝对地重要:Flash做的网页固然漂亮,但漂亮是有代价的,就是大大的文件。在现有的网络速度下,MecroMedia的两种解决办法是:Preloader和“流”式播放。关于前者请参看---Preloader的两种情况。后者是本文的主题,以下我就从技术文档及自己实践做一说明。 >>> 技术文档解释 <<< >>
数据流如何工作 << >>
数据流与播放指针的关系 << >>
用Flash生成的文件大小报告(Size Report)来优化你的Movie
<< Frame # Frame Bytes Total Bytes Page
------- ----------- ----------- ---------------
1 1203 1203 Scene 1
2 2 1205 2
3 2 1207 3
4 50 1257 4
5 2 1259 5
6 46 1305 6
我们注意到,第1个Frame大小为1K,这已足以满足来访者无须等待就可以看到;第2,第3个Frame则非常地小,因为他们所需的内容都在第1Frame里下载完了。第4Frame里的内容稍微变大了些,然而屏幕没有什么变化(这里是下面优化部分里介绍的“Preload”的概念)。到了第6Frame,里面的Symble开始发生变化(变形,移动等),但由于所需的图形还是前面已下载完的,因此这里只储存了变化要的信息指令,故不会太大。
7 46 1351 7
8 46 1397 8
9 45 1442 9
10 45 1487 10
11 45 1532 11
12 45 1577 12
直到第12Frame,时间过去了1秒,我们总共需要1.5K的数据,这现有的网络速度下,是完全可以接受的。理论上,一只28.8K猫的传输率为3.6K。实际上网络在传输数据时,还要加上一些附加信息,如:目的地,传输量等。一般称这些数据为"packet
overhead"或"network
overhead"。因此,在传输率不变的情况下,这些附加信息就会降低你浏览速度。 49 4907 9398 49 最后我们来到第49Frame,由于在这里有些新的Symble加了进来,所以体积变大了些。按源文件算来,此时总共需要9.4K的数据,大概到达时间要4秒钟,在最大理论传输率(3.6K)下,应该不会有迟延(3.6K*4=14.4K)。但如果网络的附加信息把该速率降到了1.8K或更低,及用14.4K猫的用户,此时就会有一个明显的停顿。 Page Shape Bytes Text Bytes ----------------------- ----------- ---------- Scene 1 1256 616 这部分表示的是在Movie里的非Symble的项目,如文本,Groups,及直接画在Canve(即主Scene)上的东西的空间占用情况。 Symbol Shape Bytes Text Bytes ----------------------- ----------- ---------- child and hat 375 0 curtain 124 0 speaker 593 0 speaker button 40 0 text blend 758 0 theatre seat 121 0 traced child 3163 0
Bitmap Compressed Original Compression ----------------------- ---------- ---------- ------------ child with hat 1963 230384 JPEG Quality=1 从外面Import进来的位图文件,经过压缩之后,在最终输出的Swf文件里将小很多。这部分就是显示了经过压缩的存储情况。由于体积大小和图象品质成反比,所以,你应该通过这部分来寻求二者的平衡点。 Event sounds: 11KHz Stereo 4 bit ADPCM Sound Name Bytes Format ----------------------- -------- -------- pop 289 11KHz Mono 4 bit ADPCM Pboing1 4124 11KHz Mono 4 bit ADPCM 采样速率和持续时间是影响Sound大小的两个很重要因素。这部分反映了Sound的采样率,压缩率及占用的空间情况。如果声音太大,应考虑减少其持续时间或降低品质。 Font Name Bytes Characters ----------------------- -------- ----------- Helvetica Bold 1977 '02AFHLSabcdefhiklmnoprstuwz Flash只存储了字体的Outline(也是矢量处理的结果)。这部分反映了所用的文字及占用空间情况。 >> 优化技术 << 好了,说了这么多,您是否有些茫茫然呢?其实这里关键还是亲自实践体会才是最好的理解方法。你可以去下载一些专业人员设计的Swf文件,打开后再输出,详细查看他的Size Report,再和自己的比较一下。你很快就会明白其含义了。 |