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条制...