Як ретроконсолі створювали графіку до появи сучасних GPU

Як ретроконсолі створювали графіку до появи сучасних GPU

Як ретроконсолі формували зображення та чому оригінальний Xbox став важливим кроком до програмованої графіки.

Ретроконсолі понад два десятиліття створювали зображення за допомогою спеціалізованих чипів із фіксованими функціями, тоді як програмовані графічні можливості в консолях почалися з оригінального Xbox у 2001 році. Про еволюцію такого обладнання розповідає Engadget.

У Nintendo Entertainment System за виведення графіки відповідав чип Ricoh 2C02 Picture Processing Unit. Він не виконував програмний код, а зчитував із картриджа тайли — невеликі фрагменти зображень — і дані з таблиць у пам’яті, формуючи телевізійний сигнал рядок за рядком. Це пояснює один із відомих ефектів у Super Mario Bros.: коли на одному рядку екрана з’являлося надто багато ворогів, частина з них блимала. Чип міг показати не більш як вісім спрайтів на один рядок.

 

Графіка в ранніх консолях

 

Ricoh 2C02 працював приблизно з 10 кілобайтами пам’яті: близько 8 кілобайтів займали форми тайлів на картриджі, ще 2 кілобайти RAM зберігали карти фону. Вбудована пам’ять чипа також містила відомості про розташування, форму та орієнтацію до 64 спрайтів. Зображення мало роздільність 256 на 240 пікселів і складалося з тайлів 8 на 8 пікселів.

У ще раннішій Atari 2600 центральний процесор був залучений до формування графіки значно більше: через відсутність кадрового буфера він мав подавати чипу нові значення для кожного рядка. Magnavox Odyssey, випущена 1972 року, взагалі не мала процесора чи пам’яті, а відображала точки та лінії за допомогою дискретної діодно-транзисторної логіки.

 

Перехід до програмованої графіки

 

У PlayStation 2 обчислення для графіки були розподілені між кількома компонентами. Чип Graphics Synthesizer заповнював готові трикутники кольором і текстурами, а геометричні розрахунки виконували два векторні модулі процесора Emotion Engine. У фінальних версіях консолі ці чипи працювали приблизно на частотах 295 і 147 МГц відповідно.

Оригінальний Xbox, що надійшов у продаж у листопаді 2001 року, отримав процесор класу Intel Pentium III та спеціальний графічний процесор NVIDIA, заснований на GeForce 3. Саме GeForce 3, представлений у лютому 2001 року, став першим GPU, який дозволяв розробникам програмувати піксельні та вершинні шейдери. Згодом консолі поступово перейшли на архітектури, близькі до комп’ютерних: сучасні PlayStation 5 та Xbox Series X поєднують на одному чипі вісім ядер AMD Zen 2 і графіку AMD RDNA 2.