Ну что ж, после 3DO посмотрел что еще осталось - и наверное в рамках данной темы уже вряд ли что-то нового напишу. По крайней мере в ближайшем будущем.
Пятое поколение охвачено ровно как я хотел - и блеск и нищета раскрылись и собственно все видные консоли охвачены.
В шестом поколении жемчужина PS2 всех остальных затмевает и к ним даже прикасаться особо не интересно. Первый XBox - это вообще ПК с третьим пнём и GeForce 3. GameCube - PowerPC с видеочипом Flipper от бывшего разработчика видеочипа для Nintendo 64 которого уже успела купить ATI/AMD, судя по тому что в нём были register combiners - архитектура уже была вполне себе классического толка. Ну и Dreamcast с MIPS в качестве ЦП и PowerVR в качестве видюхи - тут уже достаточно поглядеть на вики что там за tile-based-render был, про это как раз в этой теме уже заикались на первой странице.
Но никаких экзотических чипов, как в PS2, у них всех не видно и вряд ли будет что-то вызывающее приподнимание бровей. Так что и ладно.
В седьмом поколении по видюхам всё уже еще более нормализовалось - там тоже поставщики у всех были уже или NVidia или ATI/AMD, поэтому к видюхам вопросов пожалуй не остаётся. Примерно все всё знают себе - шейдерная эпоха, у кого Direct3D, у кого Sony API и всё тонко и всё близко к железяке. Так что единственное что вызывает хоть какой то интерес - это ЦП Playstation 3, ака Cell, с его "синергетическими ядрами", поверхностно на вики давно уже прочитано про него, но конкретное описание что и как может быть когда-нибудь интересно, но не в ближайшее время.
=A=L=X=
> Зачем думать, я читал про всё это давно и много
ok, тогда объясни своими словами как RISC на 12 МГц, может быть быстрее CISC на 25 :)
innuendo
> ok, тогда объясни своими словами как RISC на 12 МГц, может быть быстрее CISC на 25
Зачем своими словами? Первое предложение в wikipedia в статье "RISC":
> GameCube - PowerPC с видеочипом Flipper
Ну тут тоже пара интересных штук есть.
Во-первых - своя система векторных команд (AltiVec появился намного позже в более поздних версиях архитектур Power и PowerPC), очень похожая по идеологии на AMDшный 3dNow (тоже по два флоата в уже имеющихся регистрах). И то же кривое соответсвие спецификации ieee754, как и у PS2 (тоже по причине как уменьшения транзисторной логики, так и уменьшения головняков игроделам -пропадали всякие бесконечности при переполнении и наны при случайном делении на ноль).
Во-вторых, самая продвинутая на моей памяти вертексная часть из FFP T&L - матрицы задаются не только для вершин, но и отдельно для нормалей и текстурных координат + формат входных данных позволяет индексировать текстурные координаты и нормали каждый отдельными от вершин индексами (это вообще пушка). Плюс возможность сохранить сразу аж 8 комбинаций вершинных стейтов (ну то есть, матрицы и соответствующие им буферы источников) и затем быстро использовать их в любом режиме примитива (точки, треугольники итд) в любой момент (вулкан, опенгл, дх и прочие, кхе-кхе).
В-третьих сам пиксельный механизм TEV будет погибче Register combiners.
В-четвертых - космическая интерпретация опенгла в качестве gapi - очень круто все сделали+ командный буфер с возможностью как писать в него замапив стейт c помощью тамошнего продвинутого аналога glDisplayList и привычными по OpenGL тамошними аналогами glVertex, так и просто руками байтами байткода в массив (таким образом можно уйти от тамошних аналогом glVertex в сторону привычных нам современных подходов. Было два режима - в прямом режиме в этом буфере содержатся непосредственные координаты вершин, в индексированном - индексы на предварительно замапленые буферы, причем индексы и прямые значения можно произвольно смешивать, как я упомянул выше). То есть все тамошние гл-подобные glVertex (тут они называются GXPosition) являются не более чем простым синтаксическим сахаром, пишущим те же байтики в буфер, что можно писать и руками безо всякого GAPi, а затем скармливать буфер на выполнение.
В-пятых, текстуры, как и оригинал бокс, куб (и в последствии Wii) умел брать из оперативы. Видеопамять там была только под бэк-фреймбуфер (чтобы отобразить на экран, нужно было этот буфер закачать обратно в оперативу) и был еще кеш текстур в 1 мб, который работал и как привычный всем автоматический ассоциативный кеш, так и в "ручном режиме" в качестве быстрой текстурной памяти с загрузкой текстур руками на манер PS2.
В-шестых - поддержка текстур как классических малобитных с палитрой, так и уже DXT-1
http://morukutsuland.free.fr/data/GX.pdf
Касательно пс2 нужно отметить, что основной её проблемой были 4 мб видеопамяти всего на всё про все. И в то время как конкуренты имели текстурную память размером равной оперативной минус код и неграфические данные, потому что их видеочипы умели в оную оперативу лазить, то видеочип пс2 был ограничен всего 4 мегабайтами памяти, часть которой была уже отожрана под фреймбуфер и по этой причине, в плане количества цветов в текстурах и разрешения рендера разработчики были очень стеснены - железо то позволяло рендерить охулиард гигапикселей с тамошним космическим филрейтом, а вот памяти нехватало и посему разрешения вроде 512х256 и 640х224 (в видеочипе был т.н. FIELD RENDERING режим, позволяющий "сдвигать" растр растеризации на писксель вверх-вниз и таким образом красиво рендерить полукадры для чересстрочной развертки) были нормой для подавляющего большнинства игр. И фактически для каждого отдельного меша нужно было по новой грузить руками (по DMA-каналам) текстуры из оперативы. И мастерством MANUAL MAD TIMINGS этого самого DMA контроллера о трех каналах полностью овладели лишь избранные разработчики вроде сантамоники и полифонпи диджитал.
nonamezerox
а чё туда не завезли DX ?
innuendo
DX завезли к конкурентам. И надо сказать, тупое компьютерное железо (на самом деле не совсем) с богомерзким некроссплатформенным DX показывало у оного конкурента лучшие результаты в поколении по графике, а именно стабильные и честные 480p в каждой игре, а в некоторых даже честные 720p и 1080i. Сравнить тот же Black, который казалось бы один из лучших грофонов PS2 и выжимает из соневской консоли последние соки с версией для Xbox, которая просто наголову выше.
У более ленивых разработчиков разница так и вовсе видна невооруженным глазом
nonamezerox
У меня субъективно по эмуляторам сложилось впечатление, что GameCube тоже был заметно получше PS2 в плане там филлрейта или разрешения повыше. Это так?
=A=L=X=
> У меня субъективно по эмуляторам сложилось впечатление, что GameCube тоже был
> заметно получше PS2 в плане там филлрейта или разрешения повыше. Это так?
Вся проблема была в видеопамяти PS2. там 4 мегабайта на все и наружу в оперативу из видеочипа нельзя. А у куба отдельная видеопамять под полноразмерный фреймбуфер, а текстуры - вся оператива (40 метров у куба, 80 метров у вии). Поэтому игры на кубе могли себе позволить нормальные текстуры и нормальное , не урезанное разрешение.
Так-то филрейт у пс2 раза в полтора больше чем у куба (без текстур - так и вовсе в 3, и если сравнивать с трилинейной у обоих- тоже) + халявный альфаблендинг, но чтобы получить с этого толк, нужно было конкретно c этими GIF DMA path руками заморачиваться, что бы организовывать непрерывный стриминг текстур в VRAM. Поэтому грантуризмо 4 и два бога войны, а остальное - пиксельное месиво с лестницами, потому что если не рвать задницу, то под норм тестуры вместе с полноразмерным фреймбуфером места тупо нет и вся эта космическая производительность - коту под хвост.
Мне вот вообще непонятно, почему у разработчиков на PS3 такой батхерт был, хотя они до этого писали под PS2 и не жужжали. Там по сравнению с PS2 - лафа и турбореактивный самолет.
Вот тут достаточно поясняющая презенташка
http://slideplayer.com/slide/7032609/
https://www.slideshare.net/Slide_N/reaching-for-the-limits-of-ps2… r-have-we-got
https://www.dropbox.com/s/pjz8qktadg1cr9d/PS2Optimisations.pdf
https://www.dropbox.com/s/1uw9l7mh8azoib8/TextureGeometrySyncing.pdf
В Дримкасте был хитачевский SH-4, это не MIPS, а развитие SH-2, что стояли в Сатурне.
v1adislav
> В Дримкасте был хитачевский SH-4, это не MIPS, а развитие SH-2, что стояли в
> Сатурне.
О, да, не знаю теперь даже почему написал про MIPS, видимо спутал открытые страницы википедии.
v1adislav
Самое смешное, что не смотря на пиар дримкаста как первой 128 битной консоли, у SH4 есть всего две инструкции, которая работает со 128 битными группами регистров - это FTRV (умножение матрицы на вектор), использующая почти все регистры FPU и FIPR (вычисляет скалярное произведение). В остальном это обычный 32-разрядный процессор.
одно радует, все эти конзоли давно уже сдохли, а PC как был так и будет :)
innuendo
> а PC как был так и будет :)
РС времен выпуска этих консолей сдохли еще раньше :)
Забавно, вчитался немного про Nintendo DS (Dual Screen) - раскладушку-преемницу Game Boy Advance:
В целях совместимости с GBA там два процессора - ARM7 на 33MHz и ARM9 на 66MHz.
Первый обеспечивает как раз совместимость. Но вот дальнейшее описание на сайте https://problemkaputt.de/gbatek.htm#dstechnicaldata вызывает вопросы.
Переведу фрагмент:
=A=L=X=
PS3/x360 када?