Jump to content

Немедленный режим (компьютерная графика)

Немедленный режим — это шаблон проектирования API в библиотеках компьютерной графики, в котором

без использования обширного косвенного воздействия – а значит, немедленного – на сохраненные ресурсы. [1] Это не исключает использования двойной буферизации .

Сохраненный режим является альтернативным подходом. Исторически сложилось так, что сохраняемый режим был доминирующим стилем в графического интерфейса ; библиотеках [2] однако оба могут сосуществовать в одной библиотеке и на практике не обязательно являются исключительными.

Схематическое объяснение графического API немедленного режима.

немедленном режиме сцена (полная объектная модель ) примитивов рендеринга сохраняется в пространстве памяти клиента В , а не в графической библиотеке . Это означает, что в приложении немедленного режима списки отображаемых графических объектов хранятся у клиента и не сохраняются API графической библиотеки. Приложение должно повторно выдавать все команды рисования, необходимые для описания всей сцены, каждый раз, когда новый кадр требуется , независимо от фактических изменений. Этот метод, с одной стороны, обеспечивает максимальный контроль и гибкость прикладной программы, но, с другой стороны, он также создает постоянную рабочую нагрузку на ЦП .

Схематическое объяснение графического API с сохраненным режимом в отличие от

Примеры систем рендеринга в немедленном режиме включают Direct2D , [1] OpenGL [3] и Кварц . [4] Существуют некоторые графические интерфейсы пользовательского интерфейса немедленного режима , которые особенно подходят при использовании в сочетании с системами рендеринга немедленного режима.

Примитивный рендеринг в немедленном режиме

[ редактировать ]

Данные атрибутов примитивных вершин могут быть вставлены кадр за кадром в командный буфер с помощью API рендеринга . Это требует значительной пропускной способности и времени процессора (особенно, если графический процессор подключен к отдельной шине), но может быть полезным для данных, динамически генерируемых ЦП . Это менее распространено с появлением все более универсальных шейдеров , с помощью которых графический процессор может генерировать все более сложные эффекты без необходимости вмешательства ЦП.

Немедленный рендеринг с использованием буферов вершин

[ редактировать ]

Хотя команды рисования необходимо повторно выдавать для каждого нового кадра , современные системы, использующие этот метод, обычно могут избежать ненужного дублирования более требовательных к памяти данных отображения, обращаясь к этим неизменным данным (посредством косвенного обращения ) (например, текстуры и буферы вершин ). ) в командах рисования.

Графический интерфейс немедленного режима

[ редактировать ]

Графические пользовательские интерфейсы традиционно используют сохраняемого режима . дизайн API в стиле [2] [5] но графические интерфейсы немедленного режима вместо этого используют дизайн API в стиле немедленного режима, в котором пользовательский код напрямую определяет элементы графического интерфейса для рисования в цикле пользовательского ввода. Например, вместо функции CreateButton(), которую пользователь будет вызывать один раз для создания экземпляра кнопки, API графического интерфейса немедленного режима может иметь функцию DoButton(), которую следует вызывать всякий раз, когда кнопка должна быть на экране. [6] [5] Методика была разработана Кейси Муратори в 2002 году. [6] [5]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Куинн Радич (30 мая 2018 г.). «Сохраненный режим и немедленный режим» . Win32-приложения . Майкрософт . Проверено 21 декабря 2019 г.
  2. ^ Jump up to: а б Фельдмайер, Алекс (12 октября 2013 г.). «Программирование графического интерфейса» . Технический отчет UWP по информатике и программной инженерии . Проверено 22 декабря 2019 г. Сохраненный режим уже много лет является стандартом. Почти каждый графический интерфейс находится в сохраненном режиме. [ постоянная мертвая ссылка ]
  3. ^ «ОпенГЛ» . Проверено 4 мая 2020 г.
  4. ^ Вейхер, Марсель (24 февраля 2017 г.). Настройка производительности iOS и macOS: Cocoa, Cocoa Touch, Objective-C и Swift . Аддисон-Уэсли Профессионал. ISBN  9780133085532 . Проверено 22 декабря 2019 г. Основные графические API Quartz и OpenGL являются API немедленного режима.
  5. ^ Jump up to: а б с Барретт, Шон (сентябрь 2005 г.). «Графический интерфейс немедленного режима» (PDF) . Разработчик игры . Том. 12. С. 34–36 . Проверено 14 февраля 2021 г.
  6. ^ Jump up to: а б «Графические пользовательские интерфейсы немедленного режима (2005)» . Графические пользовательские интерфейсы немедленного режима (2005) . Проверено 15 июня 2021 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 32b04cc3e80a29791bc068a4783d1179__1721585520
URL1:https://arc.ask3.ru/arc/aa/32/79/32b04cc3e80a29791bc068a4783d1179.html
Заголовок, (Title) документа по адресу, URL1:
Immediate mode (computer graphics) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)