etre的空间
       欢迎进入计算机的空间
 
  关注Game内嵌Web浏览器内核(HTML Rendering Engine)
 2008-10-13 21:51
网络游戏在游戏内部经常会有一些Web方面的显示需求,利用HTML来实现UI这个早已不是新鲜的玩意,云风就曾经提到大话西游1中采用内嵌IE来实现客户端的UI,尽管当时这种技术方案没有成功,但是对于利用HTML Rendering这样的解析渲染引擎来表现客户端GUI的技术探索还在不断的深入。
        HTML Rendering Engine一般由DOM构建,HTML/CSS解析,Layout Engine,屏幕渲染等几大模块构成。
        其中LayoutEngine负责获取页面的内容(HTML、XML、CSS、图片),并按照W3c的标准规则计算网页显示方式,并最终输出到屏幕。由于布局引擎负责了最重要的功能,因此可以被看作是浏览器的内核。
        目前比较有名的内核如下:
        Gecko,以此为内核的浏览器最出名的莫过于Firefox了。
        Webkit则由于google的Chrome而更加出名。Webkit是一个开源的HTML 渲染引擎,由苹果公司基于 KDE 的 KHTML 项目开发而成。
        当然由于Window的一统天下,IE的内核Trident也被很多应用所采用,GoogleTalk就是采用Trident来渲染对话界面的。
        从这个Wiki上还能看到主流浏览器内核的比较情况:http://en.wikipedia.org/wiki/Comparison_of_layout_engines
    
        对于OnlineGame的简单Web应用需求,其实可以找一些轻量级的内核。HTMLayout就是这样一款针对WebUI的桌面应用和方便嵌入而设计的。但是HTMLayout并非完整特性的Web浏览器,对于一些非标准的HTML标记的渲染还有些问题,不过对于一个轻量级的嵌入引擎来说已经足够完美了。
        官网如下:http://www.terrainformatica.com/htmlayout/
        其附带的SDK中包含了一个利用DX来渲染表现的例子,原理很简单就是利用RenderingEngine将HTML解析输出到位图上,并转由DX的材质输出。官网下载的例子采用DX8来写的,需要做一些简单改动就可以了。MSN的桌面宠物多猫就利用HTMLayout来实现GUI的。
    
        第二人生中内嵌的浏览器库llMozLib,就是通过内嵌Gecko来进行HTML的渲染显示的,可以在http://ubrowser.com/找到详细的介绍,也可以从第二人生的官网上找到源代码。这个功能就强大多了,值得下功夫研究一下。
 类别:C++语言  |  评论(0)  |  浏览(130)  
东风
                暂无文章评论!
       
您尚未登录,只有登录后才能留言!
登录 ]    [ 注册 ]
2008年,最酷的桌面
PDF源文件浅析(ZT)
网站前端优化一些小经验(ZT)
WordPress 开发者工具箱
《Wired》:Windows操作系统...
VC8中打造512字节超小应用程...

会计英语资产负债表及利润表
金融英语词汇WORD可打印版
英语语言学概论重难点
专业英语八级历年真题1997-20...
十天背完一万八级英语单词
英语八级写作得高分的9条制...