星期四 雾转多云 10~20℃
令人惊叹的 swfobject 2.2
前两天记了一篇 关于元件数量对flash性能影响的测试,说“遇到一个现象,flash 场景中,有 1000 个小的矢量静止元件,即使是静止的,当鼠标经过它们时,还是会占用不少 cpu。”
其实 flash 占用 CPU 的情形很正常,但是要命的是操作起来会很卡。昨晚报着试试看的心情尝试一下 swfobject.js,先试了 1.5 版本,如预料的一样卡。又想试一下最新的 2.2 版本,其实是很想放弃的,因为觉得 flash 的东西,怎么可能会因为外部的加载方式而影响到核心的性能呢?但是我错了,当我一边犹豫一边尝试之后,结果真是让我惊叹不已。在浏览器里,flash 虽然对 cpu 还是一样的占,但是操作起来居然相当的流畅。
创意的空间更广了。
2009-12-5 更新:今晚发现,以上记录是对 swfobject 2.2 的误解,原来操作很卡的原因是因为加入了 wmode=transparent,和用什么方式嵌入 swf 没有关系。06 年曾记过一篇 使网页里的Flash保持原始帧频,其中提到加上 transparent 可以使补间动画在网页中也变得很流畅,今天才知道,transparent 也是有弊端的,尤其体现在对于 as 的处理上。如果是补间动画为主的设计类作品,建议加上 transparent,如果是 as 为主的代码类作品,建议不要加上 transparent。
swfobject 官方页面:http://code.google.com/p/swfobject/
注:swfobject 2.2 嵌入 swf 的方式与 1.5 有所不同。
1.5 版本:
<script src="swfobject.js" type="text/javascript"></script>
</head>
<body>
<div id="swfDiv">
<script type="text/javascript">
var mySwf = new SWFObject("test.swf","myid","550","400","9");
//mySwf.addParam("menu", "false");
//mySwf.addParam("wmode", "transparent");
//mySwf.addVariable("myVariable", "variableValue");
mySwf.write("swfDiv");
</script>
</div>
2.2 版本:
<script src="swfobject.js" type="text/javascript"></script>
</head>
<body>
<div>
<object id="myid" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400">
<param name="movie" value="test.swf" />
<!–[if !IE]>–>
<object type="application/x-shockwave-flash" data="test.swf" width="550" height="400">
<!–<![endif]–>
<div>
<h1>Alternative content</h1>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</div>
<!–[if !IE]>–>
</object>
<!–<![endif]–>
</object>
</div>
友吧数据库自动备份
早上 Ryan 说已经实现数据库自动备份,心里的这块大石头总算找到放的地方了,老林辛苦了。
不过尽管如此,我还是要保持每个工作日花两分钟手动备份的习惯,以防不测中的不测。如果长期依赖自动化,人脑就会退化。