互联网浏览器用于渲染的是什么?

时间:2010-08-28 13:25:18

标签: browser rendering-engine

非常快,我总是想知道,互联网浏览器是用来渲染OS API函数来创建按钮,渲染法师等,还是他们自己渲染它们?

我首先认为它使用了系统api,但有一些效果,比如当屏幕渐渐变成灰色而你只看到中间的小窗口,你知道,这个效果在网上很多画册都有用,我真的不怎么仅使用Win32调用来实现。

编辑:更确切地说,我知道屏幕上的最终绘图将始终使用系统API,但您可以根据需要发送预渲染图像。感谢。

2 个答案:

答案 0 :(得分:5)

Web浏览器使用自己的渲染引擎而不是OS API。使用OS API渲染按钮完全取决于特定渲染引擎的设计决策。但是,要在各种操作系统上运行,这些引擎更喜欢自己的渲染,以跨平台提供相同的外观。

  • Gecko,适用于Firefox
  • Trident,适用于Internet Explorer
  • Presto,适用于Opera
  • KHTML,适用于Konqueror
  • WebKit,适用于Apple的Safari和Google的Chrome网络浏览器。

参考:http://en.wikipedia.org/wiki/Web_browser_engine

答案 1 :(得分:1)

  

浏览器渲染引擎是否使用Os api来创建按钮,编写文本,创建框等,或者使用OS API自行渲染所有这些只是为了在屏幕上实际显示渲染图像?

我实现了一些浏览器呈现引擎(请参阅例如Table of Supported ElementsSupported Properties以获取它支持的HTML元素和CSS属性的列表。)

我使用系统API(.NET Framework API,它是基础O / S GDI API的薄包装器)来:

  • 测量单词(文本字符串)
  • 画字
  • 画线条和方框
  • 用纯色填充矩形

这些是由Windows GDI实现的API功能。

我还使用了一些系统(O / S或.NET)API来绘制按钮和组合框(参见Rewrite standard controls like edit, combo, etc?)。

  

Becouse,整个文本,图形的渲染等都很难自己写完

是的,实现CSS,一切都需要一段时间。您已经看到浏览器开发人员团队实施了多长时间:几个日历年,很多人年。