Что интернет-браузеры используют для рендеринга? - PullRequest
6 голосов
/ 28 августа 2010

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

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

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

Ответы [ 2 ]

5 голосов
/ 28 августа 2010

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

Ссылка: http://en.wikipedia.org/wiki/Web_browser_engine

1 голос
/ 29 августа 2010

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

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

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

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

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

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

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

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

...