Ария
Послушал сегодня песню "Небо тебя найдёт", переместился в Южный и в 2003 год одновременно.
Послушал сегодня песню "Небо тебя найдёт", переместился в Южный и в 2003 год одновременно.
Собрались как-то с работы в конце недели пойти бухнуть. Взяли с собой таджика — пацана, он смотрел за своими парнями. Там две группы было: он да ещё один, который в дальнейшем уселся за похищение человека.
Поехали мы в Ватутинки. Заползли в випку и давай заливать шары. Даже горячее не дождались — уже накидались. Нас было человек десять. А кабак выбрали такой, как в кино показывают: заходим — дым коромыслом, ни одного окна, и все столы в тишине поворачиваются к нам, оценивают нас и продолжают курить. Полутемно, музыка Круга, по-моему. Короче, атмосферненько.
Таджики смотрели: один за своей группой, другой за своей. Который с нами пошёл — он разъебай был, любил погулять. А в баре гуляли серьёзные типы. Не буду называть организацию, но мы им явно не понравились. И они нас разъебали.
Началась какая-то буза в общем зале. Я снял скатерть — тёмно-бордовую, завязал на голове узлом, как плащ, получилось. Сделал шаг в зал — мне прилетело в ухо.
Проснулся уже все и всё разъебано. Даже охранник сидел понурый с травматом. При сопротивлении мало-мальски пострадало помещение.
Так я и ушёл в этом плаще.
Все мы ушли разъёбанные и слегка весёлые. Проблемы правда в дальнейшем были, но все решилось.
Ранее я часто рассказывал об особенностях видеокарт из 90-х. В рамках прошлых статей, мы успели с вами рассмотреть внутреннюю архитектуру 3dfx Voodoo, узнать о кастомном графическом API в S3 ViRGE, и даже написать свою собственную небольшую демку под видеокарты из 90-х. Вместо рассказов о GeForce 256 и ATi 3D Rage, в сегодняшнем материале мне хотелось бы поговорить о видеокарте, которая обогнала своё время — и при этом всё равно провалилась. Как вы уже поняли — речь пойдет об Intel i740.
Каким был первый GPU от Intel, на что он был способен и в чём заключается его главная тайна — читайте в сегодняшней статье!
История видеоускорителей Intel начинается, как это ни странно, с программ космических симуляций. Первые наработки 3D-ускорителей разрабатывали ещё в 70-х годах в стенах компании GE Aerospace, однако в 1992 году, General Electric решили продать своё аэрокосмическое подразделение компании Martin Marietta, которое в 1995 году стало называться Lockheed Martin. После появления PlayStation 1 и массовых игровых автоматов с 3D-графикой, было очевидно что рано или поздно 3D станет мейнстримом и в сегменте домашних компьютеров, а пока конкуренция была ещё достаточно мала, Lockheed Martin решила организовать подразделение под названием Real3D.
По сути, в 1995 году из конкурентов у Real3D была только Nvidia со своим мультимедийным акселлератором NV1 и... PowerVR с GPU Midas 3. Но NV1 не был просто 3D-ускорителем — это целый комбайн, который включал в себя контроллер геймпадов от SEGA Saturn, звуковую карту, 2D-ускоритель для GDI/DDraw-игр и, собственно, 3D-ускоритель. Стоил NV1 целых 300$ и его самая главная фишка в лице 3D-ускорителя оказалась полным провалом: дело в том, что по каким-то причинам инженеры Nvidia решили построить растеризатор на базе квадов, а не общепринятых треугольников. Из-за этого разработчикам приходилось серьезно переписывать рендереры своих игр, поэтому на NV1 вышло всего 6 игр. Кроме того, NV1 оперировал не классическими UV-координатами, а специальными «весами», которые диктовали GPU как правильно наносить текстуру на примитив.
Как и NV1, PowerVR Midas 3 был тоже прорывным и в некоторой степени экзотическим GPU. В отличии от чипа от Nvidia, он оперировал классическими треугольниками, однако растеризатор здесь работал по принципу TBDR — Tile Based Deffered Renderer. Если говорить простыми словами, то видеокарта разбивала экран на набор тайлов размером 32x32 каждый, считала видимость и перекрытие всех рисуемых в тайле треугольников и затем отсылала их растеризатору. Таким образом, Midas 3 очень сильно экономил филлрейт за счёт отсечения невидимых поверхностей, не требовал тяжелого Z-буфера и заметно снижал нагрузку на общую шину с видеопамятью. Однако TBDR очень не любит полупрозрачные поверхности, а также геометрию с альфа-тестом, поэтому производительность Midas 3 значительно падала при отрисовке заборов, решеток и прочих объектов с полностью прозрачными пикселями. К слову TBDR в отличии от квадов живёт и сегодня и применяется даже в вашей RTX5090, а GPU от PowerVR сильно повлияли на успех первых iPhone (причём MBX был прямым наследником Midas 3).
Поэтому в 1995 году, Real3D совместно с Intel и Chips (читатели, заставшие 386/486, сразу поймут что это за компания) начали разрабатывать потребительский GPU под кодовым именем Auburn. Главной фишкой Auburn была новая шина AGP, созданная специально для видеокарт. Концептуально и электрически AGP был практически идентичен PCI: использовалась всё та же параллельная шина (за исключением того, что AGP не делил линии с другими устройствами как PCI) с теми же логическими уровнями, на программном уровне AGP-устройства использовали регистры PCI-контроллера и PCI-й же Configuration Space, а регистры и память самого GPU точно также маппились в адресное пространство процессора с помощью MMIO. Однако AGP добавлял ещё несколько важных фишек:
Возможность передачи данных как по восходящему, так и по спадающему фронту — как в DDR. Это позволяло передавать данные в два раза быстрее без фактического увеличения скорости шины, которая в первых версиях работала на частоте в 66МГц — x2 от PCI.
Технология GART, позволявшая замаппить кусок RAM для совместного использования GPU и CPU. Таким образом, GPU мог читать текстуры не только из собственной видеопамяти, но и из оперативной — что по теории Intel должно было решить проблему недостатка дорогой EDO-памяти для текстур и заметно удешевить видеокарты.
Иллюстрация с сайта pctechguide. Как мы с вами видим, процессор был связан напрямую с северным мостом, который включал в себя контроллер DRAM, PCI и AGP. Процессор был подключен к «северу» с помощью шины FSB
Как вы уже могли понять, основной упор в Auburn решили сделать на поддержку технологии GART. Суть её была такой, что на видеокарте располагается лишь минимальный объём видеопамяти (~4МБ) для хранения фреймбуфера и Z-буфера, в то время как для хранения текстур предполагается использовать системную память. Теоретически этот способ помогал заметно разгрузить шину GPU — VRAM в процессе растеризации, при этом распараллеливая обращения к текстурам через контроллер памяти в северном мосту. На бумаге это звучало хорошо...
Архитектура видеокарт в 90-х заметно отличалась от современных. Во первых, в GPU тех лет конвейер был фиксированным: все возможные операции по освещению, наложению тумана и текстурированию были заранее реализованы в железе и возможности вручную посчитать цвет фрагмента не было. Некоторым подобием шейдеров была возможность мультитекстурирования, которая позволяла за один проход наносить несколько текстур одновременно с разными операциями: например можно было наложить основную текстуру, маску и сферическую карту отражений, что позволяло сделать модельку машины, где кузов отражается, а матовые элементы — нет. Первой видеокартой с поддержкой мультитекстурирования была 3dfx Voodoo 2, однако там возможность нанесения нескольких текстур за один такт зависела от числа TMU — текстурных юнитов на видеокарте.
Иллюстрация с сайта ScienceDirect. Здесь представлен чуть более поздний конвейер — времен GeForce 256, с аппаратным T&L
Во вторых, вплоть до GeForce 256 в видеокартах вообще не было вершинного конвейера. Вы же помните слова о том, что видеопамять используется только для фреймбуфера, а оперативная — для текстур? Так вот, в те годы видеокарты не хранили в себе геометрию и никак её не обрабатывали, ожидая на вход уже готовые и преобразованные треугольники. Таким образом, вся нагрузка по трансформации треугольников, перспективному делению, повершинному освещению и клиппингу (разбиения частично видимых треугольников «перед носом» на несколько более мелких) ложилась на центральный процессор, в то время как GPU оставалось лишь это всё растеризовать (и именно отсюда растут корни glBegin/glEnd). В GF256 уже появилась поддержка T&L и возможность размещать вершинные буферы в видеопамяти, что позволило уже через 2-3 года кратно увеличить полигональность моделей в играх.
Auburn, уже под финальным названием Intel i740, появился в начале 1998 года и должен был конкурировать с новым ATi Rage 128. На первый взгляд, это был суперсовременный и доступный GPU на момент выхода:
В i740 был встроен 2D-ускоритель с аппаратным ускорением GDI и DirectDraw, поддержкой разрешения до 1280x1024 при 16-битном цвете и поддержкой как VGA, так и NTSC/PAL для вывода изображения на телевизор.
Помимо 2D-ускорителя, в GPU был также аппаратный декодер DVD. Это уже очень серьезная заявка на успех с учетом того, что не каждый процессор в те годы мог программно декодировать MPEGII.
3D движок поддерживал все современные на тот момент возможности: Z-буфер, MSAA, затенение по методу Гуро, попиксельный туман, альфа-блендинг, альфа-тест, дизеринг, трилинейную фильтрацию. Из текстурных форматов поддерживалась палитровые, 1555, 565 и 4444 — никаких 24 и тем более 32 битных текстур.
На бумаге GPU работал на частоте в 133МГц, имел приличный филлрейт в ~55 мегапикселей, мог растеризовывать до ~350к треугольников в секунду (или около 11к треугольников на один кадр — это не так мало, как кажется. В HL ~4к треугольников на кадр к примеру).
И самое главное — никаких собственных GAPI, полный ориентир на OpenGL и Direct3D.
Всё это было выполнено на техпроцессе в 350нм и при скромной розничной цене в 120$. Звучит как что-то невероятное, однако на практике FPS в играх был не особо высокий из-за использования GART: видеокарте постоянно приходилось бороться с процессором за возможность доступа к оперативной памяти, из-за чего страдала пропускная способность как со стороны GPU, так и со стороны процессора. Добавьте к этому невысокую частоту FSB и самой SDRAM и получаем просадки растущие не только от объёма геометрии в кадре, но и количества наносимых текстур, благо i740 не поддерживал мультитекстурирование.
Очевидно что в 1998 году, большинство 3D-акселлераторов проектировались как игровые и i740 стал провалом в геймерском сегменте из-за невысокого FPS в играх. Ситуация становилась ироничной из-за того, что Intel выпустила специальную PCI-версию, для которой отдельно разработала чип-мост, перенаправляющий обращения к GART с северного моста на дополнительные чипы SGRAM распаянные на плате. PCI-версия стоила значительно дороже и нивелировала все плюсы i740, хоть и работала в играх чуть быстрее, что иронично.
Однако огромным плюсом были адекватные драйвера для OpenGL и Direct3D. До 1998 года, большинство видеокарт были ориентированы в первую очередь на свои собственные проприетарные графические API — у 3dfx был Glide, у S3 — Metal (не тот что у Apple), а у ATi — CIF, в то время как i740 был ориентирован на стандартные API. При этом все три API взваливали задачу написания аллокатора текстур, математической библиотеки и вершинного конвейера на программиста, что заметно увеличивало порог входа для разработки 3D-игр. У GL и D3D же это всё было готово «из коробки», благодаря чему большинство игр уже в 1999 году перешли на DirectX. Для понимания почему так произошло — окромя Nvidia, ни у одного производителя GPU в 90-х не было адекватных драйверов для OpenGL. У 3dfx был обрубок под названием MiniGL специально для Quake, у ATi драйвера были кривыми вплоть до ~2001 года, а у S3/SiS вообще всё с этим было максимально плохо, поэтому и победил DirectX.
Ещё одна причина почему победил в DirectX
Во времена DirectX 6 было два режима D3D — Immediate и Retained. Immediate больше всего похож на современные графические API, поскольку сразу оперировал программными командными буферами, и аппаратными вершинными/индексными буферами, что позволило прозрачно для игр использовать T&L и заметно поднять их производительность.
Retained же представлял из себя почти готовый графический движок с полноценным графом сцены, математической библиотекой и даже API для загрузки моделей/текстур с диска. Retained-режим очень сильно снижал порог входа в сферу, благодаря чему некоторые игры использовали именно его.
Касательно конкретных фишек у i740 всё тоже было не идеально. Во первых, как я и говорил ранее, i740 не имел поддержки мультитекстурирования, что требовало двухпроходной отрисовки уровней — сначала геометрия с текстурой, затем та же самая геометрия с лайтмапой. Больше всего это было актуально для Half-Life и Quake. Во вторых, i740 не поддерживал Stencil-буфер и соответственно стенсильные тени в реальном времен. Можно было только очень костыльно реализовать самые примитивные Shadowmap'ы без фильтрации, но выглядели они отвратительно.
И в третьих — i740 не поддерживал текстурную компрессию, которая позволила бы заметно выиграть в производительности. Дело в том, что блочные алгоритмы типа DXT позволяют хранить блок из 16 пикселей всего в 8 байтах (двух машинных словах) и отлично кэшируются, что помогло бы разгрузить шину... но имеем что имеем. В играх i740 показывал себя в целом очень даже неплохо, но уступал решениям от ATi и Nvidia, а ещё по каким-то причинам GPU не использовался в ноутбуках (скорее всего из-за отсутствия поддержки LVDS).
Результаты в играх были неплохими, но не более того. В Quake 3 i740 в AGP-версии выдавала солидные 30 FPS (а PCI-версия всего 20), в то время как в Quake 1 кадровая частота местами подлетала почти до 50 FPS. В Carmageddon II приходилось наслаждаться 20-22 FPS на обеих версиях, зато Mortal Kombat 4 шел в 50 на PCI версии и 60 на AGP. В MS Flight Simulator 98, i740 вытворял чудеса и выдавал более 60 FPS - это уже FPS уровня современного геймера.
Несмотря на все свои недостатки, i740 не отправился в помойку: несмотря на провал на розничном рынке, i740 стоил очень недорого на оптовом для OEM, что и обеспечило ему большую популярность в готовых сборках. А годом позднее, GPU был интегрирован в чипсет Intel i810, где и раскрыл свой бюджетный потенциал во всю. Его основными конкурентами стали SiS Mirage Graphics на базе SiS 6326 (обычно была слабее Intel'ов), VIA Unichrome на базе легендарного S3 Savage, и такая экзотика, как Trident CyberBLADE XP. В 2004'ом, Intel выпустила современный и относительно крутой GPU под названием GMA900 с поддержкой Direct3D9 и продвинутым шейдерным конвейером, но... об этом как-нибудь в другой раз.
Вот такой была первая видеокарта от Intel. И, судя по всему, из года в год Intel повторяет историю точь в точь: разрабатывают продвинутый GPU с поддержкой всех современных технологий, но спотыкаются об использование RAM в качестве основной памяти и кривоватые драйвера. Хотя сейчас с появлением Intel Arc ситуация кратно улучшилась. А что вы думаете о GPU от Intel? Пишите своё мнение в комментариях!
В будущем хотелось бы написать статью про что-то из Trident'ов, PowerVR, Trident'ов или ранних 3dfx, но к сожалению пока возможности купить их нет. Но там будь что будет :)
Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
А если вы хотите что-нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро-компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х? :)
После обзоров устройства не продаются, а остаются в моей коллекции. Когда-нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности? :)
Фото Nokia 9300 с сайта mobile-review.com
Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого-то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.
Магомедшамиль Магомедович Абдурагимов (5 января 1980, Какамахи, Сельсовет Кака-Шуринский, Карабудахкентский район, Дагестанская АССР— 9 октября 2005, Махачкала) — оперуполномоченный отряда милиции особого назначения криминальной милиции Министерства внутренних дел Республики Дагестан, старший лейтенант милиции.Герой Российской Федерации (2006).
Обладатель Кубка мира по тайскому боксу (2001), серебряный призёр чемпионата мира по тайскому боксу (2003), чемпион России,мастер спорта России международного класса.
После окончания школы Магомедшамиль поступил на юридический факультет Дагестанского государственного университета.Обучаясь в ДГУ, он устроился работать в отдел спецназначения правоохранительных структур.
C 2003 года служил в отряде милиции особого назначения криминальной милиции Министерства внутренних дел Республики Дагестан.
9 октября 2005 года старший лейтенант милиции М.М.Абдурагимов в составе отряда особого назначения принимал участие в спецоперации по уничтожению участников диверсионно- террористической банды по улице Первомайской в Махачкале .
Как только бойцы правоохранительных органов вошли во двор дома, где засели и были блокированы члены террористической группировки “Шариат”, бандиты открыли по ним огонь из автоматического оружия. В этом скоротечном отрезке боя два сотрудника милиции получают смертельные ранения.
Магомедшамилю, получившему серьезное ранение, вместе с товарищами удалось спастись в первые минуты боя. В этот момент старший лейтенант М. Абдурагимов порекомендовал своим товарищам отойти назад, а сам бросился спасать боевого товарища, майора Сергея Подвального, которого бандиты накрыли шквалом огня. Там он сумел обезвредить террориста, установившего взрывное устройство.
Он, отстреливаясь из автомата, почти подполз к своему командиру, когда один из боевиков вышел из под лестницы и выстрелил ему в спину из гранатомета.
Указом Президента Российской Федерации от 29 мая 2006 года за мужество и героизм, проявленные при исполнении служебного долга, старшему лейтенанту милиции Абдурагимову Магомедшамилю Магомедовичу присвоено звание Героя Российской Федерации (посмертно).
Знак особого отличия Героя Российской Федерации - медаль «Золотая Звезда» была вручена его матери.
B Республике Дагестан проводятся турниры по спортивным боям памяти Героя Российской Федерации М.М.Абдурагимова.
Источники :
Один раз гулял по Москве. Устал, ночь уже. Лёг спать в Александровском саду. А так как я был богат, у меня было две бутылки «Старого мельника» и курица-гриль — редкое сокровище для меня в моей бомжиной жизни.
Пиво приговорил, курицу положил под голову как подушку. Сон у меня всегда колымский был. Сплю и слышу, как на голове волосы растут. Думаю: «Рассосутся люди и по хаваю». Хотя хотел сожрать её ещё когда покупал.
Лёг короче. И чувствую — кто-то богатство это из-под головы тянет. Вытащил и уходит. Я за ним — догнал, забрал. Не поделился, потому что красть у бедолаги нельзя.
Сменил место дислокации и сожрал курицу с таким наслаждением, как будто это торт «Панчо». Для меня торт «Панчо» — верх всего самого наилучшего на тот момент был. Развалился, размечтался — уснул.
А утром опять бродить по Москве. Она богатая, всем тогда давала. В туалет зашёл, умылся — и вперёд, заре навстречу.