Немедленный режим (компьютерная графика) - Википедия - Immediate mode (computer graphics)
Эта статья нужны дополнительные цитаты для проверка.Декабрь 2019 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Немедленный режим в компьютерной графике - основной образец Дизайн API в графических библиотеках, в которых
- то клиент звонки напрямую вызывают рендеринг графических объектов для отображения, или в которых
- данные для описания рендеринг примитивов вставлен Рамка по кадру прямо из клиент в список команд (в случае примитивный рендеринг в немедленном режиме ),
без использования обширных косвенных указаний - таким образом немедленный- к нераспределенным ресурсам.[1] Это не исключает использования двойная буферизация.
Сохраненный режим это альтернативный подход. Исторически сложилось так, что сохраненный режим был доминирующим стилем в GUI библиотеки;[2] однако оба они могут сосуществовать в одной библиотеке и на практике не обязательно являются исключением.
Обзор
В немедленном режиме сцена (полная объектная модель из рендеринг примитивов ) сохраняется в пространство памяти из клиент, вместо графическая библиотека. Это означает, что в приложении немедленного режима списки графических объектов должны быть оказано хранятся клиент и не сохраняются API графической библиотеки. Приложение должно повторно выдавать все команды рисования, необходимые для описания всей сцены, каждый раз, когда новый Рамка требуется, независимо от фактических изменений. Этот метод обеспечивает, с одной стороны, максимальный контроль и гибкость прикладной программе, но с другой стороны, он также создает непрерывную рабочую нагрузку на ЦПУ.
Примеры систем рендеринга в немедленном режиме включают Direct2D,[1] OpenGL[3] и Кварцевый.[4] Есть некоторые графический интерфейс непосредственного режима которые особенно подходят при использовании в сочетании с системами рендеринга в немедленном режиме.
Есть еще одна важная закономерность Дизайн API в графических библиотеках - сохраненный режим.
Примитивный рендеринг в немедленном режиме
Примитивный атрибут вершины данные могут быть вставлены Рамка по кадру в буфер команд по рендеринг API. Это требует значительной пропускной способности и времени процессора (особенно если графический процессор находится на отдельной шине), но может быть выгодно для данных, динамически генерируемых ЦПУ. Это менее распространено с появлением все более универсальных шейдеры, с которым графический процессор может генерировать все более сложные эффекты без необходимости вмешательства процессора.
Рендеринг в немедленном режиме с буферами вершин
Хотя команды рисования необходимо повторно выдавать для каждого нового Рамка современные системы, использующие этот метод, как правило, могут избежать ненужного дублирования отображаемых данных с большим объемом памяти, ссылаясь на эти неизменяющиеся данные (через косвенное обращение ) (например, текстуры и буферы вершин ) в командах рисования.
Смотрите также
- Графический интерфейс немедленного режима
- Список отображения
- Сохраненный режим, обычно в отличие от немедленного режима
- График сцены
Рекомендации
- ^ а б Куинн Радич (30 мая 2018 г.). «Сохраненный режим против немедленного режима». Приложения Win32. Microsoft. Получено 21 декабря 2019.
- ^ Фельдмайер, Алекс (12 октября 2013 г.). "Программирование GUI". Технический отчет UWP Computer Science and Software Engineering. Получено 22 декабря 2019.
Сохраненный режим был стандартом в течение многих лет. Практически каждый графический интерфейс находится в сохраненном режиме.
- ^ "OpenGL". Получено 4 мая 2020.
- ^ Вайхер, Марсель (24 февраля 2017 г.). Настройка производительности iOS и macOS: Cocoa, Cocoa Touch, Objective-C и Swift. Эддисон-Уэсли Профессионал. ISBN 9780133085532. Получено 22 декабря 2019.
Основной графический API Quartz и OpenGL - это API немедленного режима.