毒霸2010的主程序界面就是HTML的,对于毒霸来说是一个新的跨越,从MFC贴图走向光明的一个转身。用HTML做界面其实很早就有了,据说了解诺顿很早之前就可以使用HTML做界面了。
HTML相比MFC, WTL等开发界面程序,就像用php相比于cgi做动态网页,好处不言而喻,不需要重新编译就可以看修改后的效果,HTML元素方法,方便界面表达。
但HTML用什么控件显示呢?一般情况下我们都会想到IE控件,毒霸2010也不例外,IE是个强大同时很庞大的家伙。IE用得不好的话,速度会很忙,用得好的话你体会不出和MFC程序的差别,目前毒霸2010的主程序启动速度比毒霸2009的还要快。难以置信吧?
但有一个比IE控件更快的HTML渲染引擎,叫HTMLayout,效率非常高,标准的HTML内容显示得也很标准,占用资源很低,尤其是在窗体不可见的情况下。好东西也有缺点,就是不支持javascript,但它提供了一个css script脚本来弥补,HTMLayout也可以让程序员非常方便的存取网页的dom,非常适合和HTML表现的交互。
有人认为IE慢,是因为IE的javascript引擎慢,这个观点是有问题的,虽然相对于Google的V8引擎,IE的js速度慢,但实际使用中,是js调用的其它对象速度慢,例如:dom。
IE慢还有一个原因,是IE的缓存机制,HTML涉及的文件较少的话感觉不出来,但很多的话,首次显示速度有一点点慢。
是不是把HTML涉及的文件打包成一个dll,让IE使用res协议访问速度会快些呢?理论是快些,因为少了很多文件IO嘛。实际上不是,速度更慢。