Войти
ФлеймФорумЖелезо

Блеск и нищета 32/64-битных консолей и ПК (5 стр)

Страницы: 14 5 6 7 8 Следующая »
#60
9:21, 13 ноя. 2017

Ну что ж, после 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, с его "синергетическими ядрами", поверхностно на вики давно уже прочитано про него, но конкретное описание что и как может быть когда-нибудь интересно, но не в ближайшее время.


#61
9:53, 13 ноя. 2017

=A=L=X=
> Зачем думать, я читал про всё это давно и много

ok, тогда объясни своими словами как RISC на 12 МГц, может быть быстрее CISC на 25 :)

#62
9:57, 13 ноя. 2017

innuendo
> ok, тогда объясни своими словами как RISC на 12 МГц, может быть быстрее CISC на 25
Зачем своими словами? Первое предложение в wikipedia в статье "RISC":

RISC (англ. reduced instruction set computer[1][2] — «компьютер с сокращённым набором команд») — архитектура процессора, в котором быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения — меньшим

Достаточно CTRL+C и CTRL+V :)
#63
10:14, 4 дек. 2017

> 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 контроллера о трех каналах полностью овладели лишь избранные разработчики вроде сантамоники и полифонпи диджитал.

#64
13:38, 4 дек. 2017

nonamezerox

а чё туда не завезли DX ?

#65
13:52, 4 дек. 2017

innuendo

DX завезли к конкурентам. И надо сказать, тупое компьютерное железо (на самом деле не совсем) с богомерзким некроссплатформенным DX показывало у оного конкурента лучшие результаты в поколении по графике, а именно стабильные и честные 480p в каждой игре, а в некоторых даже честные 720p и 1080i. Сравнить тот же Black, который казалось бы один из лучших грофонов PS2 и выжимает из соневской консоли последние соки  с версией для Xbox, которая просто наголову выше.

У более ленивых разработчиков разница так и вовсе видна невооруженным глазом

#66
14:26, 4 дек. 2017

nonamezerox

У меня субъективно по эмуляторам сложилось впечатление, что GameCube тоже был заметно получше PS2 в плане там филлрейта или разрешения повыше. Это так?

#67
14:50, 4 дек. 2017

=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

#68
2:29, 5 дек. 2017

В Дримкасте был хитачевский SH-4, это не MIPS, а развитие SH-2, что стояли в Сатурне.

#69
8:11, 5 дек. 2017

v1adislav
> В Дримкасте был хитачевский SH-4, это не MIPS, а развитие SH-2, что стояли в
> Сатурне.

О, да, не знаю теперь даже почему написал про MIPS, видимо спутал открытые страницы википедии.

#70
9:19, 5 дек. 2017

v1adislav

Самое смешное, что не смотря на пиар дримкаста как первой 128 битной консоли,  у SH4 есть всего две инструкции, которая работает со 128 битными группами регистров - это FTRV (умножение матрицы на вектор), использующая почти все регистры FPU и  FIPR (вычисляет скалярное произведение). В остальном это обычный 32-разрядный процессор.

#71
9:49, 5 дек. 2017

одно радует, все эти конзоли давно уже сдохли, а PC как был так и будет :)

#72
13:47, 5 дек. 2017

innuendo
> а PC как был так и будет :)
РС времен выпуска этих консолей сдохли еще раньше :)

Прошло более 1 года
#73
10:25, 26 дек. 2018

Забавно, вчитался немного про Nintendo DS (Dual Screen) - раскладушку-преемницу Game Boy Advance:

Изображение

В целях совместимости с GBA там два процессора - ARM7 на 33MHz и ARM9 на 66MHz.
Первый обеспечивает как раз совместимость. Но вот дальнейшее описание на сайте https://problemkaputt.de/gbatek.htm#dstechnicaldata вызывает вопросы.
Переведу фрагмент:

Как правило подавляющая часть кода исполняется на процессоре ARM9 (более того, есть информация что Nintendo не разрешает разработчикам использовать процессор ARM7 кроме как в ряде заложенных в API функций, и как бы там ни было, большая часть мощности в 33 МГц ARM7 остаётся неиспользованной).
С мощностью 66 МГц ARM9 происходит другая история - похоже, что в Nintendo считали, что 33МГц будет слишком "медленно" для 3D-игр и поэтому они (попытались) добавили к начинке GBA новый процессор.
Однако полные 66 МГц могут быть использованы только с кешем и TCM (регион сверхбыстрой памяти), весь же доступ к остальной памяти замедляется до 33 МГц системной шины, что, в общем то, всё еще довольно быстро, но похоже, что в системе есть аппаратный сбой из-за которого добавляется 3 цикла ожидания к любому непоследовательному доступу к памяти со стороны ARM9 и это роняет эффективную частоту шины до 8 МГц, что заметно медленее 33 МГц ARM7 и даже медленнее, чем 16 МГц процессора изначального GBA. Вместе с забагованными 66 МГц и неиспользованными 33 МГц Nintendo добились практически такой же мощности какая была у 16 МГц процессора GBA!
Однако если правильно приготовить кеш и TCM, то 66 МГц-овый процессор _может_ быть очень быстрым, тем не менее NDS мог бы так же хорошо работать с одним процессором, однако использование только ARM9 могло бы вызвать кучу проблем с совместимостью, так что есть по меньшей мере одна причина для наличия внутри ARM7.

Хм, если это правда, то это весьма некислое и очень странное криворучество железячников.
Хотя у меня вызывает сомнение вот что - кеш же по идее как раз должен последовательно считывать страницы памяти и поэтому возможно автор разбора полётов недооценивает настоящую производительность?

#74
11:45, 26 дек. 2018

=A=L=X=
PS3/x360 када?

Страницы: 14 5 6 7 8 Следующая »
ФлеймФорумЖелезо