• Jump to Content
Загрузка...
 
  • Об участниках
  • Контакты
  • Помочь сайту

Swap Chain

Published At: 2016-09-13 08:29 - (2325 Прочтений)
Печать
Свопчейн, своп-цепочка. Англ. "быстросменяемая цепочка" (бэкбуферов). Данный термин широко используется в DirectX программировании. Представляет собой коллекцию буферов, которые используются для отображения кадров видеоизображения на экране монитора. Всякий раз, когда приложение отправляет очередной кадр на экран дисплея, первый (или ближайший; нумерация весьма условна) буфер в своп-цепочке становится на место отображаемого (экранного) буфера, а его содержимое при этом выводится на экран. Этот процесс часто называют свопинг (англ. "swapping" - быстро поменять местами) или флипинг (англ. "flipping" - щелчок, схлапывание). Графический адаптер хранит указатель на поверхность, которая представляет собой статичное (заранее подготовленное ОС или средствами DirectX) изображение, хранимое в т.н. фронтальном (=переднем, экранном) буфере и отображаемое в данный момент времени на экране. Как только монитор обновит своё изображение, видеокарта (дисплей адаптера) отправляет на него содержимое фронтального буфера для последующего отображения на экране. В то же время, при рендеринге в реальном времени такой вывод влечёт за собой некоторые проблемы. Суть их заключается в том, что частота обновления монитора (в современных мониторах она обычно составляет 60-100Гц) сравнительно низкая по сравнению с вычислительными мощностями компьютера. Если приложения обновляет фронтальный буфер в то время, как монитор лишь наполовину обновил своё изображение, возникает эффект тиринга (англ. "tearing" - разрыв) - визуальный артефакт, когда верхняя половина изображения осталась прежней, а нижняя половина экрана уже заполнена новым фронтальным буфером. С точки зрения зрителя, видеоизображения может быть смазанным в движении или неплавным (разрываемым по горизонтали).

  • Главная
  • Введение (общее)
    • Жанры компьютерных игр
    • Эволюция DirectX. От версии к версии (обзор)
    • Готовим дизайн-документ игры
    • Базовые понятия 3D-графики
  • Программируем RPG (Win32, Cpp, DirectX8)
    • Устанавливаем Microsoft Visual C plus plus 2010 Express
    • Настройка MS Visual C plus plus 2010 и DirectX SDK
    • Основы языка Cpp
    • Создание приложений (Cpp, Win32)
    • Технология COM (Component Object Model)
    • Программный поток (Program Flow)
    • Создание каркаса (framework) игры
    • Функция assert(). Отлов ошибок и вывод их на экран (Cpp)
    • DirectX Graphics (DirectX 8). Начало работы
    • DirectX Graphics. Библиотека D3DX (DirectX 8)
    • DirectX Graphics (DirectX 8). Создание и рендеринг объектов
    • DirectX Graphics (DirectX 8). Текстурирование
    • DirectX Graphics (DirectX 8). Освещение
    • DirectX Graphics (DirectX 8). Шрифты
    • DirectX Graphics (DirectX 8). Билборды (Billboards)
    • DirectX Graphics (DirectX 8). Частицы (Particles)
    • Оптимизация 3D-приложений
    • DirectX Graphics (DirectX 8). Работаем с вьюпортами
    • DirectX Graphics (DirectX 8). Меши (полигональные сетки)
    • DirectInput 8 (DirectX 8). Теория
    • Прогаем RPG - 1. Создаём ядро игры
  • Программируем 3D-шутер от первого лица (FPS) (Win32, Cpp, DirectX9)
    • Устанавливаем Microsoft Visual C plus plus 2010 Express
    • Настройка MS Visual C plus plus 2010 и DirectX SDK
    • Основы языка Cpp
    • Создание приложений (Cpp, Win32)
    • Технология COM (Component Object Model)
    • Программный поток (Program Flow)
    • DirectX Graphics (DirectX 9). Начало работы
    • DirectX Graphics (DirectX 9). Поверхности и растры
    • DirectX Graphics (DirectX 9). Анимированные спрайты
    • DirectX Graphics (DirectX 9). Создание и рендеринг объектов
    • Программируем 3D FPS. Часть 1. Создание движка
      • Программируем 3D FPS. 1.1 Проектируем движок
      • Программируем 3D FPS. 1.2 Создаём фреймворк движка
      • Программируем 3D FPS. 1.3 Добавляем поддержку связных списков (LinkedList.h)
      • Программируем 3D FPS. 1.4 Добавляем поддержку менеджеров ресурсов (ResourceManagement.h)
      • Программируем 3D FPS. 1.5 Добавляем поддержку базовой геометрии (Geometry.h)
      • Программируем 3D FPS. 1.6 Тестируем фреймворк движка
      • Программируем 3D FPS. 1.7 Добавляем систему стейтов (State system)
      • Программируем 3D FPS. 1.8 Добавляем пользовательский ввод
      • Программируем 3D FPS. 1.9 Добавляем поддержку скриптов
      • Программируем 3D FPS. 1.10 Добавляем рендеринг
      • Программируем 3D FPS. 1.10 Добавляем рендеринг продолж
      • Программируем 3D FPS. 1.11 Добавляем поддержку шрифтов
      • Программируем 3D FPS. 1.12 Добавляем поддержку звука
      • Программируем 3D FPS. 1.13 Добавляем поддержку игры по сети
      • Программируем 3D FPS. 1.14 Полигональные сетки (меши) и материалы
      • Программируем 3D FPS. 1.16 Управление сценой (Scene Management)
  • Знакомство с XNA Framework и XNA Game Studio
    • MS Visual C sharp 2010. Установка и начало работы
    • Настройка MS Visual C Sharp 2010 и XNA Framework
    • XNA - Оценка производительности
    • XNA - Управление памятью
    • XNA - Способы оптимизации
    • XNA - Создание 3D-объектов
    • XNA - Создание компонентов
  • OpenGL. Уч. курс
    • OpenGL - Библиотека GLUT
    • OpenGL - Библиотека GLH
  • 3D-МОДЕЛИРОВАНИЕ. Уроки
    • Gmax. Уроки
      • Gmax Установка и настройка экспорта .X-файлов
      • Gmax Наложение текстур и материалов
    • 3D Studio Max. Уроки
      • 3D Studio Max 7 Установка и настройка экспорта .X-файлов
    • Anim8or. Уроки
      • Anim8or. Моделируем автомобиль и экспортируем в .X-файл
  • Статьи
  • Книги
    • Игрокодинг
    • DirectX
    • C++
    • 3D Studio Max
    • AI (искусств. интеллект)
    • Игромоддинг
    • Game Design Document
    • OpenGL
    • XNA (PC + XBox 360)
  • Словарь
  • Софт
  • Ссылки
  • Форум

Последние комментарии

  1. Программируем 3D FPS. 1.3 Добавляем поддержку связных списков (LinkedList.h): Untitled Вторник 31 / Август, 2021 12:15:06 MSK
  2. Создание приложений (Cpp: Untitled Воскресенье 20 / Сентябрь, 2020 16:27:06 MSK
  3. Программируем 3D FPS. 1.2 Создаём фреймворк движка:
  4. Программируем 3D FPS. 1.2 Создаём фреймворк движка:
  5. Программируем 3D FPS. 1.16 Управление сценой (Scene Management): Untitled Пятница 15 / Май, 2020 14:11:34 MSK
  6. Программируем 3D FPS. 1.16 Управление сценой (Scene Management): Untitled Четверг 07 / Май, 2020 13:01:13 MSK
  7. Программируем 3D FPS. 1.16 Управление сценой (Scene Management): Untitled Среда 06 / Май, 2020 13:17:02 MSK
  8. Программируем 3D FPS. 1.16 Управление сценой (Scene Management):
  9. Об авторах: Untitled Пятница 09 / Август, 2019 20:45:10 MSK
  10. Программируем 3D FPS. 1.1 Проектируем движок: Еще раз спасибо)

Облако тэгов

  • articles  
  • c++  
  • game  
  • programming  
  • state  
  • visualstudio  
  • windowsgdi  
  • игрокодинг  
  • статьи  

Помочь проекту

yoomoney.ru (бывший Яндекс-деньги): 410011791055108

Поиск

Категории

  • 3D-моделирование
  • C++
  • CSharp
  • DirectX
  • .NET
  • OpenGL
  • XNA
  • ИГРОКОДИНГ: Учебный курс
  • Статьи

Новые статьи

  1. Поверхность DirectDraw
  2. T&L аппаратный
  3. Обёртка, оболочка (функция/структура/класс-*)
  4. Открылась наша группа ВКонтакте
  5. Depth Sorting
  6. Готова статья "DirectX Graphics. Освещение"
  7. Готова статья "DirectX Graphics. Шрифты (Using Fonts)"
  8. Готова статья "DirectX Graphics. Билборды (Billboards)"
  9. Готова статья DirectX Graphics. Частицы (Particles)
  10. Поток вершинный (Vertex stream)

Последние изменения

  1. Программируем 3D FPS. 1.10 Добавляем рендеринг
  2. Программируем 3D FPS. 1.9 Добавляем поддержку скриптов
  3. Программируем 3D FPS. 1.1 Проектируем движок
  4. Программируем 3D FPS. 1.2 Создаём фреймворк движка
  5. Программируем 3D FPS. 1.3 Добавляем поддержку связных списков (LinkedList.h)
  6. Программируем 3D FPS. 1.4 Добавляем поддержку менеджеров ресурсов (ResourceManagement.h)
  7. Программируем 3D FPS. 1.5 Добавляем поддержку базовой геометрии (Geometry.h)
  8. Программируем 3D FPS. 1.6 Тестируем фреймворк движка
  9. Программируем 3D FPS. 1.7 Добавляем систему стейтов (State system)
  10. Программируем 3D FPS. 1.8 Добавляем пользовательский ввод
...еще

Igrocoder.ru Концепция и разработка: Артем Томашкевич [email protected] Since 2026. Возрастное ограничение: 12+. Все названия программных продуктов, компаний-разработчиков, а также торговые знаки (марки), упоминаемые на сайте, являются интеллектуальной собственностью их владельцев. Powered by Tiki Wiki CMS Groupware https://tiki.org