З Вікіпедії, вільної енциклопедії
Блітер (англ. Blitter) — спочатку мікросхема або частина графічного співпроцесора, що здійснює швидке копіювання та накладання фрагментів зображень у пам'яті (цей процес називають біт-бліт[en]), завдяки чому вивільняються ресурси центрального процесора і прискорюється робота з графікою. Назва походить від акроніму BLIT (англ. BLock Image Transfer — блокове перенесення зображень). Основне застосування блітер мав у роботі з растровою графікою та пов'язаних з нею перетвореннях.
Спочатку для обробки растрових зображень використовували ділянки основної пам'яті, які обробляв центральний процесор (ЦП). Робота з графікою (підтримка спрайтів, заливання ділянки кольором) вимагала багато ресурсів.
З удосконаленням графічного обладнання (див. наприклад, Буфер кадру) стали підтримуватися вищі роздільності та глибина кольору. Для ігор, що використовували графічні функції в повному обсязі, за звичайного підходу для багаторазових пересилань даних у пам'яті знадобилися б великі швидкості. Подібна робота займає багато ресурсів ЦП, забираючи час, потрібний для роботи над іншими завданнями.
Блітинг — не єдине рішення для високопродуктивної обробки графіки. Найпоширенішим рішенням було використання технології спрайтів. Невеликі зображення (спрайти) розташовувалися поверх фонового зображення незалежно від нього. Як правило, відеопроцесор при виведенні на дисплей чергового горизонтального рядка пікселів екрана аналізував, які спрайти на неї потрапили і для кожного пікселя тла, перевіряв, чи не перекривається він пікселями спрайтів, підмінюючи, за необхідності, колір. Це усувало потребу в копіюванні великих обсягів даних, але вимагало від відеопроцесора частого доступу до пам'яті спрайтів, яку часто виділяли в окремий банк фізичної пам'яті.
Недоліком такого підходу було те, що логіка обробки спрайтів була жорстко задана в мікросхемі, і кількість оброблюваних одночасно зображень була обмеженою — від двох (Atari 2600) до восьми (Commodore 64) спрайтів, а ігрова консоль Famicom/NES могла виводити до 64 спрайтів на екрані, але не більше 8 спрайтів в одному рядку (за більшої їх кількості вони зазвичай починали характерно «переморгуватися», вимикаючись і вмикаючись у різному порядку).
У технології блітера кількість об'єктів обмежена лише продуктивністю самого пристрою та обсягом доступної пам'яті. Зі зростанням продуктивності комп'ютерів ця перевага перекреслила переваги використання спрайтів, і зрештою системи обробки спрайтів трансформувалися в блітери. Разом з тим, з появою маніпуляторів типу «миша» багато комп'ютерів вміють виводити принаймні один апаратний спрайт — власне вказівник миші.
Щоб розв'язати цю проблему, розробники комп'ютерів створили спеціальний пристрій. Під час обробки графіки ЦП надсилав опис необхідної біт-бліт[en]-операції блітеру, який паралельно обробляв більшість операцій з растровою графікою і тим самим прискорював роботу застосунків.
Вперше пристрої, подібні до блітера, з'явилися в ігрових консолях Bally Astrocade[en], відомих багатими на той час можливостями обробки графіки. В консолі було виділено ділянку пам'яті до адреси 0x4000, спроба запису в яку викликала графічний процесор.
Пристрій, що повністю реалізує функції блітера, на який компанія Commodore отримала патент US 4874164, вперше з'явився в комп'ютерах Commodore Amiga.[1] В цьому патенті було введено поняття «блітер» як «пристрій персонального комп'ютера для блокового копіювання даних растрових зображень» (англ. Personal computer apparatus for block transfer of bit-mapped image data).
Всі сучасні графічні процесори мають функції, властиві можливостям бліттера, проте доступ до них прихований і не рекомендується, особливо під час роботи з тривимірною графікою.
Сучасні API (Direct3D[2] і OpenGL) змушують описувати весь кадр, а потім малювати його з нуля. Переміщення даних безпосередньо в кадровому буфері є менш ефективним і може розглядатися як поганий підхід у програмуванні. Сучасні пристрої вже мають набір функцій для обробки зображень (обертання, змінення масштабу та прозорості), легко доступні через API. Використання текстур під час малювання полігонів роблять блітери застарілими. Однак ця технологія має застосування в сучасних графічних підсистемах з низьким енергоспоживанням.
Seamless Wikipedia browsing. On steroids.