关注Game内嵌Web浏览器内核(HTML Rendering Engine)
来源:互联网 发布:淘宝上靠谱的swatch店 编辑:程序博客网 时间:2024/04/28 10:10
网络游戏在游戏内部经常会有一些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/找到详细的介绍,也可以从第二人生的官网上找到源代码。这个功能就强大多了,值得下功夫研究一下。
- 关注Game内嵌Web浏览器内核(HTML Rendering Engine)
- 关注Game内嵌Web浏览器内核(HTML Rendering Engine)
- 各大浏览器内核(Rendering Engine)
- 各大浏览器内核(Rendering Engine)
- 关注Game内嵌Flash UI
- game engine
- game Engine
- game engine
- <学习html>第一天笔记-浏览器内核、web标准、html标准语法格式
- 在Web.xml 内配置浏览器解析html的编码格式
- web前端浏览器内核介绍
- 【html】各种浏览器内核的比较
- 关注Sina App Engine分布式Web应用开发与运行平台
- Mobile Game Engine Introduction
- RTS game/engine Links
- Torque Game Engine简介
- RTS game/engine Links
- Game Engine Toolset Development
- 提升本程序进程优先级和权限(VC++源代码)
- ExtJS实战(1)-准备工作和界面赏析
- VC中如何设置程序优先级
- 成功的人生至少需要一张跳板
- Poisoned Reverse
- 关注Game内嵌Web浏览器内核(HTML Rendering Engine)
- 检测内存泄漏
- 预先准备好内存不够的情况
- 我
- new的六种重载形式
- boost::bind
- 迭代器失效
- 谷歌浏览器的源码分析(24)
- MFC常用的一些方法