Что используют интернет-браузеры для рендеринга?

очень быстрый, мне всегда было интересно, используют ли интернет-браузеры для рендеринга функций API ОС для создания кнопок, рендеринга магов и т. д., или они рендерит все это самостоятельно?

Сначала я подумал, что он использует системный api, но есть некоторые эффекты, например, когда экран становится серым, и вы видите только небольшое окно посередине, вы знаете, этот эффект используется во многих фотоальбомах в Интернете, что я действительно не знаю, как добиться с помощью например звонит только Win32.

РЕДАКТИРОВАТЬ: Чтобы быть более точным, я знаю, что окончательный рисунок на экране всегда будет использовать системный API, но вы можете отправить предварительно отрисованное изображение, как хотите. Спасибо.


person B.Gen.Jack.O.Neill    schedule 28.08.2010    source источник
comment
(ссылка) Википедия: движки веб-браузеров   -  person Gordon    schedule 28.08.2010
comment
Я не понимаю вопроса: да, финальный рисунок на экране всегда будет использовать системный API. Да, внутри реализации каждого браузера есть код, зависящий от реализации браузера, который использует системные API-интерфейсы для рендеринга того, что браузер хочет отобразить. Так в чем вопрос?   -  person ChrisW    schedule 28.08.2010
comment
Что ж, возможно, лучшая формулировка была бы такой: используют ли движки рендеринга браузера OS api для создания кнопок, написания текста, создания полей и т. Д., Или они рендерит все это самостоятельно, используя OS API, только для того, чтобы фактически показать визуализированное изображение на экране. ? Потому что весь рендеринг текста, графики и т. Д. Кажется довольно сложным для написания полностью самостоятельно ...   -  person B.Gen.Jack.O.Neill    schedule 29.08.2010


Ответы (2)


Веб-браузеры используют собственные механизмы рендеринга, а не 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

person ankitjaininfo    schedule 28.08.2010
comment
Спасибо, если я могу быть более конкретным, например, использует ли какой-либо из этих движков какие-либо графические интерфейсы API? Например для рисования текста? Или даже это полностью обрабатывается движком рисования? - person B.Gen.Jack.O.Neill; 29.08.2010

Используют ли движки рендеринга браузера Os api для создания кнопок, написания текста, создания полей и т. Д., Или они рендерит все это самостоятельно с помощью OS API только для того, чтобы фактически показать визуализированное изображение на экране?

Я реализовал что-то вроде движка рендеринга браузера (см., Например, Таблицу поддерживаемых элементов и Поддерживаемые свойства для списка HTML элементы и свойства CSS, которые он поддерживает).

Я использую системные API-интерфейсы (API-интерфейсы .NET Framework, которые представляют собой тонкие оболочки для базовых API-интерфейсов GDI O / S), чтобы:

  • Измерьте слова (строки текста)
  • Нарисуйте слова
  • Нарисуйте линии и прямоугольники
  • Заполните прямоугольники сплошным цветом

Это тот вид функций API, который реализован в Windows GDI.

Есть также некоторые системные (O / S или .NET) API, которые я использую для рисования кнопок и полей со списком (см. Переписать стандартные элементы управления, такие как редактирование, комбо и т. д.?).

Потому что весь рендеринг текста, графики и т. Д. Кажется довольно сложным для написания полностью самостоятельно.

Да, внедрение CSS и все остальное требует времени. Вы видели, сколько времени потребовалось командам разработчиков браузеров для реализации: несколько календарных лет, много человеко-лет.

person ChrisW    schedule 28.08.2010