文件播放卡、轉場不流暢、軟件容易崩潰……出現這些問題,主要是因為加入太多消耗電腦性能的物體,如大圖、SVGFlash

首先說圖片。
Focusky(下面簡稱為“FS軟件”)
在呈現一個幀的時候,會對幀內的所有物體進行渲染呈現出來。假如這個幀里面有10張圖片,每張圖片1M,那么轉場切換到這一幀的時候,軟件就要去加載這10張圖片。大圖片很占據內存,而且每一張圖片去加載都需要時間。這時候,因為時間跟內存一起增加,所以看到的就是軟件轉場過程中卡頓。

再切換到另外一個幀,而這個幀內正好在圖片幀內,那么轉場的過程中,軟件開始執行渲染工作,圖片幀內的10張圖片開始放大,這時候放大的圖片會占更多的電腦內存。

另外,還有為圖片增加樣式的功能。這個功能是用濾鏡來渲染圖片格式,而濾鏡在Flash里面也是一個相當吃內存的東西。有些用戶明明添加的是優化過的圖片,但軟件運行時卻相當卡頓,有可能就是圖片格式濾鏡添加過多。

所以不建議添加高清大圖,濾鏡功能也不要去濫用。軟件提供了對圖片的優化及裁剪功能。當然,如果你的電腦性能足夠好,而且每一個幀內添加的高清大圖只有一兩張,這對流暢度的影響很小。

然后說說SVG
SVG
因為無論放大多少倍都相當清晰的功能深受大家喜歡,所以有不少人喜歡添加SVG。但是相比圖片,SVG吃掉的內存一點也不遜色,甚至更多。特別是很復雜的SVG,它本身就相當大,有的達幾百kb,甚至過M。而當SVG放大時,它會成倍地去消耗內存。另外由于SVG是由線條組成的,它每一次放大都會調用大量的CPU去運算。如果連續去渲染的話,導致軟件崩潰基本上是板上釘釘的。

所以,如果要使用SVG,請盡量使用比較小的SVG。如果你的軟件在放大過程中崩潰,不妨檢查一下是否SVG太大了。

最后,是SWF
SWF
是一個動畫,有大有小,而且版本號也不一樣。雖然as3.0出來十年了,但仍舊可以遇到用as2.0,甚至1.0寫出來的SWF動畫。這些動畫中有一些布局相當調皮,所以加到FS之后,你會發現動畫跟邊界相差甚遠。
跟圖片、SVG一樣,如果SWF太大,同樣也會很占內存,而且SWF內部的動畫需要去渲染,也是比較吃CPU的。