His Corner Logo
Nintendo 64

Перед вами изображена реклама Nintendo 64 - игровой консоли, которая по словам самих же Nintendo предлагало мощную 64-битную графику. Она была выпущена как одна из представителей 5 поколения консолей вместе с Sony PlayStation и Sega Saturn в 1997, вышла она поздно, но какой-никакой фурор вокруг неё происходил, те же обсуждения о том как "ОНИ ВСЁ ЕЩЁ ИСПОЛЬЗУЮТ КАРТРИДЖИ В 97 ГОДУ КАРЛ!!!" или как у неё не было всяких причин покупки помимо тех же эксклюзивов по типу Super Mario 64, Legend of Zelda: Ocarina of Time / Majora's Mask, F-Zero X и тому подобное. Но что если вся эта реклама о "мощной консоли" была простым маркетинговым ходом ради которого бы люди, следившие за консольными войнами, решили бы погрузиться в пучину "мощности"? Серьёзно ли она была 64-битной? Этот вопрос мучает геймеров и по сей день, уже некий псиоп о том что оказывается не так всё гладко как с поверхности. Давайте же мы разберёмся поближе.


Сама система

Перед тем как дать ответ на вопрос, давай-те же разбёрем что хранится в самой системе N64, с чем мы имеем дело.

Процессор

N64 использует NEC VR4300, у которого частота 64-бит. Все необходимые операции он может выполнять с точностью 64-бит, оба целые и не целые, но большинство игр её не используют, ибо 32-бит было просто легче настроить и не забирало настолько много памяти.

Графический Процессор

Reality Co-Proccesor (RCP) состоит из Reality Display Processor (RDP) и Reality Signal Processor (RSP), каждый из них может составлять значения 32, 64 и даже 128-бит.

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

Память

RDRAM (произвольная и динамическая память от Rambus) консоли работает только с 32-бит, ибо для 64-бит адресов памяти нужно не более 4Гб памяти. У консоли всего было 4Мб, а с Expansion Pack и вовсе 8. 64-бит память стала популярна на заре 2000х где иметь такое кол-во было обыденностью и не так уж сложно.

Цвета

Для того чтобы понять как работают цвета в консоли, давайте разберём некоторые форматы изображений и как вообще сама система компилирует цвета.

RGBA

RGBA - красный, зелёный, синий и альфа. Этот формат цвета имеет все значения РГБ и соединяет их воедино в полученный результат, а потом альфа (прозрачность) определяет какое из значений рендерится за каким. Значения как обычно в хексадемике. Тексел - минимальный пиксель в 3Д полигональной графике. Чаще всего использовали 32-битный РГБА который как-бы и уменьшал значение изображений и содержал в себе как можно меньше текселей, а также автоматически подсчёт полу-прозрачных пикселей. 16-бит РГБА намного меньше, что и позволяет ей больше держать текселей.

32-бит РГБА 16-бит РГБА
Максимум 1024 текселей Максимум 2048 текселей
Лучшее разрешение: 32х32 пикселей Лучшее разрешение 44х44 пикселей

32-бит

Каждое значение РГБА равно 8 (8/8/8/8), которое варьируется от 0 до 255 (0х00 до 0хFF) для каждого цвета. Полнотостью белый цвет будет записан как 0xFFFFFFFF, чёрный is 0x000000FF, зелёный is 0x00FF00FF и полу-прозрачный синий будет 0x0000FF80.

16-бит

16-бит немного отличается от 32. Нежели чем иметь значения вроде 5/5/5/5, оно будет делится например 5/5/5/1, а каждое значение будет варьироваться от 0 до 31 и значения альфа будет только идти от 0 до 1. Например белый будет 0xFFFF, чёрный 0x0001, красный 0xF801, зелёный 0x07C1 и синий 0x003F.

Я и ЯА

Я - яркость, ЯА - Яркость/Альфа. Эти два формата вполне схожи друг с другом поэтому отдельно разбирать смысла нету

Перед вами диаграмма которая показывает как каждый бит поступает к каждой датабазе и подходит к любому размеру. Первое, что нужно понять, это то, что это не серые цвета (хотя они могут быть, если хотите). Можно назначить любой цвет, который человек хочет представленным интенсивностью, используя цветовую палитру, чтобы смешать цвет текстуры с цветом вершины / полигон. Например, если вы делаете травянистую текстуру, вы можете использовать зеленый фон, а затем использовать различные интенсивности для применения рисунка:

Это максимум того что я хотел показать и рассказать, дальше идёт большая кроличья нора. Если вы хотите узнать всё подробнее, то почитай эту статью. Что нам важнее знать так это то, что большинство цветов компресовалли для экономии места (4кб для текстуры). Понятнее, 8-битный квадрат может быть 64 × 64 размера, в то время как 32-бит квадрат будет 32 × 32, четверть размера. И даже тогда это не было обычным явлением, так как вы могли бы иметь только одну текстуру, доступную за время, которая замедляла бы вещи и не позволяла другие операции.

Звук

Звук самое легкое, он передаётся через звуковой сигнал RCP в 16-битном канале данных.

Вывод

Для большинства операций общего назначения Nintendo 64 использует 32 бита - логику памяти и т.д. Тем не менее, 64-бита используется для графики с подсчётом векторов и трансформации.

Однако возможности 64-бит были немного ограничены, из-за того что они не были настолько быстрые и гибкие как те же аналоги 32-бит которые помимо этого обеспечивали небольшое заметное улучшение. Другая проблема заключается в том, что нпросиходит много ошибок округления чисел, которые, если не контролировать, могут привести к их удалению и вызвать сбои, но все это может быть решено путем повторной синхронизации.

В целом, это сделало Nintendo 64 довольно похожим (считая биты) на PS1 и Sega Saturn, которые рекламировались как 32-битные консоли. У неё были некоторые преимущества, когда речь шла о других возможностях, таких как скорость загрузки и количество полигонов, которые все еще ставят его выше конкуренции, если говорить о потенциалах мощности. То, как он был использован, все еще зависит от того, насколько хорошо разработчик может использовать все имеющиеся в его распоряжении инструменты, включая те 64-бит.


Писал pupok999 26/04/26.