发新话题
打印

关于多媒体程序运行速度的研究

关于多媒体程序运行速度的研究

关于多媒体程序运行速度的研究
2 O" ?$ z$ U, b
# P5 h! _/ n% f+ R- L: g--dlpaul86 Q+ L+ L; \  P, g

1 L" a3 B4 _# z% U! m! @这是我应公司的要求,经一段时间的研究及长期实践的一些经验写的一篇报告,由于本人知识有限,错涵之处,望不吝赐教。本文隐去了不方便的一些东西,望见谅!
' d/ d0 ~9 J! J' T" L; j
) p0 y% W2 p' Q  B
2 P) V6 I# k, h3 m& U
: A% X" T& e( J. h# ^9 a( r经长期的制作经验、理论知识及本人的研究发现,在制作期间,如能满足以下条件,则可大大提高D的运行速度。并针对以前做的两个程序作了一些改进。从例子1中可以明显的看到这种变化,例子2不是太明显,这是因为本身它的元素就比例子1要少得多!
8 j. [2 _" S' ~( I, i) I/ J
& q5 k0 _; r: w4 i1.Flash元素运行时会占用99%左右的CPU资源,所以使用Flash的地方应尽量少。虽不能彻底解决(Macromedia Flash本身结构的问题),所以只能我们自己约束,不是非用不可就最好不用。
% U4 t. `( d& S# {. S
& \0 y6 q( x; ?2.使用Flash的时候,动画的尺寸尽可能的小,可能的情况下,不要透底,并且可以将一个大的动画分为几个小的动画,速度也有明显的提升。: j5 ~% q. _! {6 w

4 i$ z9 i2 k( z7 A' O/ o3 @3.Flash有声音的时候,不妨把声音和动画分开导入D中,这样更易于控制和有效的减小Flash的大小。9 U5 F" m2 d5 @

9 t& T  W% X8 A4.Flash制作时应尽量不使用位图,尽量使用矢量图。
6 f4 P: c0 E% e# k) f5 Y3 {" `
( v0 \. w2 I' l% Y; C" H5.D中的声音文件,建议不使用有压缩性质的格式(.mp3、.rm等),最好使用.wav等标准格式。
% k  P  ~+ N0 q, X
* Q' O9 I9 m! [- G6.建议使用Flash的loadMovie方法,载入外部的SWF文件,这样可以不用平铺多个Flash,也不用在各个Dir间跳转,可以节约很多启动时间。
# _2 r. ~( F) w" z0 d4 C' y' m. f! p% @7 P' U8 S5 p- @& C$ ~
7.Flash制作完成以后应删去库中多余的元素,以使Flash的大小降到最小。
% l, z( o% G% i( O7 E
, j( J0 g! x3 Y) i( i: ]& }" s4 p! n8.不在程序中通篇使用一个或多个Flash,这样会使整个程序变得特别慢。做菜单有一个很好的插件,如果我们要大量用到这样的功能,建议够买。
; ~2 D$ K( r0 \, U+ e" L8 M3 q& Q$ i. Y
9.视频不宜用高压缩比的视频格式,特别是片头,最好用无压缩格式的.avi或.mov格式。视频的个数也不宜太多。
% y  ^, W$ p3 z& }' S9 F. q
+ o1 t6 p0 Y; V8 ^3 e3 U/ B10 .程序的可执行文件应尽可能的小,最好就是只有少部分的加载语句,通过这部分语句来调用其它的电影。
+ i9 Y% w3 S& m  {5 g, u7 z3 M) o/ r4 g% U7 P/ C/ a
11.发布可执行文件时,除特别需要外,建议发布成ShockWave的格式,这样可以满足可执行文件最小的要求。4 y% {+ q$ @; y" i! X7 Q# {* C

8 U/ b& ~4 [9 B) g* y+ G3 N12.程序应做到决不多加载一个无用的外部Xtra。可以采用删除法反复查找无用的Xtra。2 H2 T5 |$ B# @( @
3 ]% i) o; w. o- u
13.程序的时间轴通道中应使用最少的精灵个数。因为通道被占得越满,舞台的变化就越复杂,电影运行速度也就越慢。
! c4 b5 U4 c; I+ d5 \9 a- C
8 {1 [4 I8 }& |2 X! h  w14.素材建议采用外部链接的办法,本人的经验是同样的东西外部链接要比内部嵌入执行速度要快,尤其是声音文件。; Y4 M0 y. A# M5 p1 o

& {1 n) C4 G* V# D: X15.程序中应尽少的使用占用CPU资源及内存的过渡效果。如3D类的过渡效果。且过渡的时间不宜太长,一般设置在0.3~0.6之间,最大也不应超过1.2。. W8 w  m  _( T2 l
& v& }+ O% y6 C' Q
16.图片的大小应保证在满足需求的情况下最少、最小。- H7 K. B# U' ?& x

) x) g) a! K# ]" T17.在刻录CD-R时,关闭光盘的多重段刻录功能。否则往往使CD-R在光驱中的读取变慢,因为选择让光盘的多重段刻录功能打开,刻录时不会关闭CD-R文件分配表等相关信息,以便你下次写入。而这样对于光驱在寻道、读取时速度减慢。你可能觉得有时没有明显的感觉,但当你刻录的CD-R中文件较多,相应的文件又较小,就会十分明显了。因此建议你在可以的情况下尽量选择关闭光盘,以方便光驱的读取。5 S4 @' f( f  C' D- ]

! S: j! C7 J: v7 C) d: {# S18.刻录母盘应使用质量好一点的CD-R,且刻录速度不宜过快,一般8~16速最好,这样做容易读盘。" l8 C: N6 K7 q5 l- V. J5 f8 E

+ d2 _# B0 |- o19.根据经验及实验得出以下的结论:
; x7 o1 G- r, j" g" U8 G$ D+ V) D. O$ D5 j3 G3 Y  Z3 F
造成D程序运行速度慢的主要原因就是:1.Flash元素;2.视频(特别是高压缩比的视频格式);3.过多的界面元素;4.大量占用资源和时间的过渡效果。
& h: l' Q% k  x( x# B+ g* V  M" K
0 H' r  s# g! w/ s5 y: a, r& P1 N20.有效转移用户视线的方法是采用Loading的方法。这在大量的软件中都得到广泛的应用,它可以有效的让用户觉得等待的时间不是太长,也不会让用户以为是死机。在D用可以采用两种不同的方式来制作:1动态,自己做一个“假的”;2静态,与执行文件同名的.bmp文件。
+ z/ @2 h+ v) X" g, K
  ~+ k  v* `& u1 S1 ~xxx
. T% g/ @" }: V9 n2 N9 Y
- T' G) ?5 V% x* D" e3 n* g" G2004.04.13) e3 j- o1 H+ R8 h

TOP

关于多媒体程序运行速度的研究

补充一点:打包之前的两个工作
" n5 B9 n) c" J8 \. V  U: A. w1、利用鼠标右击演员表,选择find castmember,将最后没有用于影片的演员删除,但是要特别小心,有些演员可能会被lingo调用,但没有直接用于timeline,千万不要误删除;9 E$ T" R, W( J$ z1 s7 i5 l$ `. j
2、选择file菜单的save and compact选项进行保存。! j5 ^" r- c( M2 K/ K  x
这样的dir文件的大小被压缩成最小,进而使打包文件最小,从而可以加快启动速度。

TOP

关于多媒体程序运行速度的研究

好贴。。。。鲜花为两位有心人送上~~~~~

TOP

关于多媒体程序运行速度的研究

中,万分感激!4 F  j+ o8 f) g$ n1 y
我现在正做一个学校的留念光盘(人很多,)不幸被斑竹大哥说中了:- ?+ |" J3 x/ W" S
我运用了大量的FLASH,包括声音(就是FLASH做成可控制的样子)。程序六七兆了。运行很慢!
2 K9 ]4 Y6 `) _' T* q2 J% q楼主你能不能给俺讲一下怎么做你20条提到的“loading"技术(动态的),多谢多谢。

TOP

关于多媒体程序运行速度的研究

我理解dlpaul8说的loading是伪预载,就是在director启动时先显示一个类似进度条的动态画面,其实在这个画面的背后,你的projector正在进行启动的过程,可以使得用户产生一种感觉:等待的时间不是太长,也不会误认为是死机;经过一定时间以后,再进入到正常的projector内容。

TOP

***** 版主模式 ***** 一篇很不错的经验帖子,大家如果还有好的经验要跟贴的话,可以去教程资源继续发表 该贴子是管理员从Director转移过来的!

TOP

求救!!!请各位大侠看看!!关于authorware计分的问题

求救!!!请各位大侠看看!!
9 B3 b" l' t3 ?. k5 V/ ]我想做一个authorware计分小系统,已经实现了下面的功能:
* w' @; N! U2 x& h1. 可以读取外部的记事本文件,在authorware中显示文本内容,包括题干和选项
, O& w1 I3 c+ q" {$ u% D2. 制作了四个按钮分别对应每个选项,可以实现单选
1 n7 c/ h; k. ^8 J3. 用dalist数组记录用户选择的答案,用dblist数组记录标准答案
1 {$ T7 V( @* |1 p可是无法实现计分的功能,我用下面这段语句来计分,但无法完成:
* u$ T: u* n$ Z" S4 fa:=""# _+ q0 N& F+ Y- h" d" Z" @
b:=""
, O  c* i$ n5 g) _6 b. Gi:=0/ B: n! i9 Y) S. b' [5 y
fen:=0 ——记录最后得分的变量4 h) {. R8 E) U% g1 z' o& v
repeat while i<50
( |( l9 \" M+ E& E# E# m: o% @0 m   a:=dalist- j  i" x2 C" I* c4 W: S
    b:=dblist[]4 \1 }( V7 A/ [: c1 o, a
    if a=b then: X/ x/ Q# a1 Y
    fen:=fen+14 {9 X# n" i1 d2 J$ E0 j
    end if
4 b0 E0 d1 E7 E& O  i:=i+1
1 H+ Z. b  n* Z; v; _end repeat6 P5 K5 n( W+ {7 _3 b2 A
请各位看一下,这段程序什么地方有问题,每次运行之后,fen=1,次次如此。我快崩溃了!!$ H. m- r& }& `0 q
请大家不吝赐教!!多谢多谢!

TOP

发新话题