Размышления одной дивной арабской ночью...(Часть вторая)

Не DOS, но тоже нам интересно

Размышления одной дивной арабской ночью...(Часть вторая)

Сообщение Oldgamer » 30 янв 2016, 00:53

Всем доброго времени суток!
Поздравляю всех с прошедшими праздниками (лучше чуть более, чем поздно, чем совсем никогда, верно?), желаю всем всего того, что вы сами себе желаете и продолжаю тему, начатую в прошлом году.

В первой части своего повествования я рассказывал о причинах на удивление толерантного отношения производителей компьютерных игр к пиратскому распространению оных, а так же о "честных" способах конкуренции производителей "железа" за содержимое кошельков "геймеров". Пришла пора поговорить и о "нечестных" способах конкурентной борьбы.

Одним из моих излюбленных примеров - игра "Гигант траффика". С первого взгляда - ничего особенного, обычная "транспортная" стратегия с изометрической псевдо-3д-графикой. Описывать её я не буду, а опишу-ка для начала некоторые ПОДДЕРЖИВАЕМЫЕ этой игрой видеокарты и их "особенности".

1) "S3 32-64" (S3 732), эмулируемая Virtual PC. Эмулируется эта карточка просто великолепно, чрезвычайно доброжелательно относится к "сверх-экстремальному" разгону. Но вот гостевой видеодрайвер для систем семейства 9.х... Хуже дела обстоят разве что на VmWare, за которую ещё и платить (в теории ;) :lol: ) надо. В принципе это лечится (способ лечения я уже описывал), но и с "больным" драйвером вы запустите вышеупомянутую игрушку без проблем.

2) "Cirrus Logic 5446", эмулируемая QEMU. Уж сколько лет разработчики виртуалки над эмуляцией этой карты бьются - а воз и ныне там. Причина, имхо, кроется не столько в "криворукости" или "кривомозглости", а, скорее в изначальной "кривоидейности" - в один видеобиос запихнули два, от РАЗНЫХ карт (согласитесь, что пусть одна и та же карта, но одна на шине ISA, а другая - на шине PCI - это две большие разницы). В придачу к этому кадавру ещё и VESA 2.0 прикрутили, причём тоже криво. Но как бы то не было, даже на ТАКОЙ карте игрушка худо-бедно, но идёт.
Примечание. Этот баг QEMU лечится не просто, а ОЧЕНЬ просто. Всё, что вам нужно - заменить оригинальный видеобиос "от QEMU" на видеобиос от виртуальной машины Bochs, например, версии 2.6.8. Дело в том, что разработчики этой виртуалки пошли другим путём - фактически спроектировали видеокарту с нуля, но "по мотивам" оригинального Cirrus Logica 5446. Итог - честный 24-х битный цвет в высоких разрешениях, ни единого графического артефакта, никакого официально рекомендованного шаманства с переключением хостового рабочего стола на 16-битный цвет...
Примечание к примечанию (раз уж к слову пришлось). Лучше всего "обновлённая" видеокарта работает с видеодрайвером, входящим в Windows 95 OSR2, но есть пара тонкостей. Первая - после установки 95-ой винды на виртуалку ОБЯЗАТЕЛЬНО установите драйвера на материнскую плату, после чего система сама обновит видеодрайвер с общего для "семейства", на конкретный драйвер для конкретной Cirrus Logic 5446 PCI. Вторая - будете обновлять директ - обязательно ОТКАЖИТЕСЬ от любезно предложенного вам установщиком директа обновления драйвера вышеупомянутой карточки. Не то, чтобы он был намного хуже, но всё же...Дело в том, что драйвера от 95-й были "глупыми", "что видели - то и пели" Увидят Vesa 2.0 - выставят 24-х или 32-х битный цвет в самых высоких разрешениях. Увидят 8 мегабайт видеопамяти (в случае с S3 764, которую эмулирует DosBox("корейский") - будут работать с этим объемом видеопамяти, как миленькие. А драйвера идущие с директом были "заточены" под "референсные" модели и при их использовании вы "получите обратно" все "прелести" старых видеокарт, в виде 16-битного цвета и мизерного поддерживаемого объёма видеопамяти. Опять-таки к слову, подобная же ситуация - и с аудиодрайверами, но это так, отступление.

3) "Yamaha 6388" Где же ты такого зверя откопал, спросите вы меня? Он же вымер начисто ещё во времена ДОС-а и практически всё, что о нём известно - что 'это была VGA-карта, которая несла "на борту" аж 256 килобайт видеопамяти. Вымер, говорите? Ага, щаз! Живее всех живых. Куда уж до неё дедушке Ленину, которого было попытались использовать в качестве очередной "духовной скрепы" (насаждаемое православие в этом качестве провалилось с треском, так как верующих, в результате, почему-то стало меньше, чем было в СССР в самые "безбожные" годы :D ), а теперь снова пытаются закопать с глаз долой, так как интерес к Ленину подстегнул интерес молодёжи к марксизму с вытекающими для власть имущих последствиями...Но это было так, лирическое отступление и вернёмся-ка мы к нашим баранам, а именно к... VmWare и VirtualBox-у. Да, друзья мои, не существует никакой VmWare SVGA 2, и совсем уж невнятного VirtualBox Videoadapter-а - тоже. Есть вышеупомянутая Yamaha 6388, которую эти виртуалки и эмулируют. Не верите мне - спросите у Аиды-16 :). Надо ли говорить, что кривизна драйверов для этой карты у обоих виртуалок просто зашкаливает. Не откажу себе в удовольствии привести врезавшуюся в мою память цитату с одного из форумов (а вот "пруф" увы привести не могу, не догадался сохранить страницу :( )

- А чо, протереть монитор тряпочкой не судьба? Всё мухами заcpано!
- Свою дырявую задницу тряпочкой затыкай! Это не муха насpала! Это я "Тарзан" на Варе запустил. Щас попробую экранную лупу на окно навести и скрин сделать...

Давайте не будем придираться к стилю цитаты (цитировал как есть), такая уж нынче "культура общения" у "народа", а обратим внимание на то, что речь шла о запуске игры под ХР с соответствующим гостевым видеодрайвером, причём имелся в виду 2д (про то, как обстоит дело с 3д я вообще умолчу). И это на ДОРОГУЩЕЙ "Варе"(ну и за что в таком случае деньги платить? :o ). А в случае с бесплатным "Бокс"-ом всё ещё веселее. Там "какашка" вырастет до размеров открыточки. Лилипутской. Которая в придачу ещё и двоиться будет. Но VirtualBox хотя бы, если ему "не понравится" поддерхка хостовым видеодрайвером OpenGl (что происходит чуть реже, чем всегда), хотя бы просто аварийно завершит работу гостевой операционной системы. А VmWare в таком случае запросто может организовать вам "синий экран". И не на "госте", а на "хосте" (прямо в рифму получилось).
Ещё хуже дело обстоит, когда речь заходит о семействе 9.х. Ну "Бокс" с ними отродясь не работал, не смотря на своё происхождение от Qemu, которая с этими системами по сей день работает, и даже, о ужас, под 64-х битной 10-й. Другое дело, что... Впрочем, доведение до ума "Кеми" - предмет отдельной готовящейся темы, так что перейдём к VmVare. Гостевой видеодрайвер для 9.х у этой виртуалки какбэ есть, но проку от него чуть больше, чем от UNI-VBE for 9.x. Вся разница между ними в том, что драйвер Вари умеет переключать разрешение экрана "на лету", a UNI-VBE и на это не способен...
Единственный выход - установить Display Doctor, о котором иначе, как "Наш добрый доктор...Менгеле!" - не скажешь. "Поэкспериментирует" он над тем, сколько у вас хватит "нервов" с ним "общаться" - со вкусом и от души. И не "отмажетесь", так как альтернатив ему просто нет...
А что же наша игрушка? А что ей сделается? Запустится она у вас с этим "добрым доктором" как миленькая! Не извольте сумлеваться :)
Примечание. Надумаете поставить какую-нибудь винду семейства 9.х и таки пользоваться "доктором" на VirtualBox-е, утешая себя тем, что мазохизм - это не извращение, а безобидное "отклонение" - учтите 2 вещи. Первая - объём видеопамяти больше 64 мегабайт - не выставлять (в идеале лучше ограничиться 32-я). Вторая - в случае с "Боксом" VESA 2.0 - это не 32-х, а (внимание!) 24-х(!!!) битный цвет в "высоких" разрешениях экрана и поддержку этой особенности необходимо вручную активировать в настройках "доктора".


4) "S3 SavageXP" А вот это уже реальная карта. Никогда не слышали о такой? А откуда вам, друзья мои, было об этой карте слышать, если она даже в производство не пошла, ибо переплюнула всё славное (вернее - бесславное) семейство "Саважей" по своей "глюкавости" и несовместимости с чуть менее чем всеми материнскими платами того времени. Так что в "дискретном" виде вы эту карту никогда не встретите. Но... "Зря мы что-ли деньги на разработку потратили?" - решили в компании VIA (которой и принадлежала злополучная S3) - и воткнули эту карту на свои материнские платы в качестве встроенного видеоадаптера, а чтобы "подсластить пилюлю" тем бедолагам, что не могли себе позволить потратить деньги на что-нибудь "дискретное" - ничтоже сумнящеся "запилили" возможность выделить для этой "недокарты" из системной памяти (держитесь крепче!) - ГИГАБАЙТ (и это - в самом начале 21 века, когда геймеры робко мечтали о 128 мегабайтах) видеопамяти и ЕЩЁ ГИГАБАЙТ - на апертуру.
Небольшое отступление.Слово-то какое придумали в своё время инженеры INTEL - "апертура", вместо того, чтобы назвать "виртуальную" видеопамять своим именем - "своп", тем паче, что рассчитывается эта самая "апертура" абсолютно по той же формуле, что и обычный своп - "Удвоенный объём оперативной памяти плюс 12 мегабайт". А уж как "проталкивал" ИНТЕЛ шину AGP (к которой эта самая "апертура" прилагалась, как проталкивал! Оно и понятно. На пятки наступала "открытая" шина PCI 2.1, с частотой и пропускной способностью AGP 1X. Но поскольку она была "открытой", то "поиметь" за её лицензирование со всех и каждого было решительно невозможно. А вот за AGP - собственную "пропиетарную" разработку ИНТЕЛ - очень даже! Так что если вы до сих пор верите в старую сказку - "Жили-были производители видеокарт. Решили они как-то съэкономить на локальной видеопамяти, "раскулачив" оперативную. Собрались они тогда, и придумали AGP..." - то настоятельно рекомендую вам всегда и везде следовать примеру древнеримских юристов с их сакральным "КОМУ ВЫГОДНО?"
Однако вернёмся к собственно видеокарте. Вы крепко держались? Так держитесь ещё крепче, так как с этим колоссальными для того времени объёмами выделенной видеопамяти и апертуры сия карта умела работать, как с...ЕДИНЫМ АДРЕСНЫМ ПРОСТРАНСТВОМ. Для тех, кто не понял -это объём видеопамяти в ДВА ГИГА!!! Да, Карл, да! 2 гига - и это, повторяю, в самом начале 2000-х, причём на нужды фактически...2-д - адаптера, ибо с 3-д графикой у неё обстоит дело, как и у других "Саважей", то есть чуть более, чем никак. Но как бы то ни было, "Гигант траффика" идёт и на этой видеокарте...


5) "Radeon HD4800" А это вообще "тяжёлый случай", достойный отдельного рассказа. Начну с предыстории.
Не прошло и нескольких лет после внедрения т.н. "универсальных шейдерных процессоров", как их изобретатели таки заинтересовались, как всё это работает на практике. И на свет вылезли весьма интересные вещи. Ну со старыми играми всё понятно. Те из них, которые имели "софтверную" версию - запускались именно в ней. Если же игра таки пыталась запуститься "аппаратно" - она попросту "отваливалась". Игры поновее либо вообще не запускались, либо считали, что универсальный шейдерный процессор - это типа такая видеокарта "Всё в одном" - и радостно "вешали" всю обработку 3-д графики на один-единственный процессор, пока остальные тупо грели воздух в системном блоке...
Надо было что-то с этим делать. И таки сделали, но КАК!!!

Инженеры Nvidia решили, что "от бобра - бобра не ищут", что могли - "пофиксили" в драйверах, превратив их в один сплошной "грязный хак", а простаивающие без дела процессоры "припахали" обсчитывать траекторию полёта кометы Галлея и универсальную формулу мира во всём мире. Да! Поистине гениальный выход! Заставить видеокарту делать то, что до сей поры делал центральный процессор - это было очень креатиФФно! Один только вопрос остался. Что же тогда мешало сей достопочтимой компании за всё время её существования слепить хоть какое-то подобие х86 - совместимого процессора, хотя бы на уровне процессоров VIA?

Инжинеры ИНТЕЛ-а пошли по другому пути. Заполучив во время своего сотрудничества с Nvidia на почве совместной разработки платформ ION и ION 2 эти самые "универсальные" видеопроцессоры, они приспособили их в качестве... самых обычных "вершинных" процессоров, которые доселе почему-то разработать сами не могли. При этом они остальную архитектуру своих видеокарт менять не стали. Результат превзошёл все самые оптимистичные ожидания. Одним махом доселе "офисные" (а с точки зрения тех, кто ограничивался либо старыми DX 1-6, либо "оптимизированными" (типа "ГТА-3", "Симс-2", "Сайлент-Хилл 2") играми - "полу-игровые" встроенные видеокарты в... полноценные игровые, примерно уровня GeForce 5800, причём на порядок более производительные, чем вышеупомянутая карта. Поклонников всякого рода "КрЫсисов" они может и не удовлетворят, а вот для ретрогеймеров эти карты (GMA 3500/4500) - эталонные. Пойдёт на них ВСЁ, что в принципе способно запуститься под NT5.x (при условии, что игры готовы довольствоваться директом не выше 9-го и шейдерами не выше 2.0, а это - практически ВСЯ игровая "классика". Единственный, но ОЧЕНЬ важный совет! Коли попадёт вам в руки такая карточка - ищите самые СТАРЫЕ версии драйвера. Новые версии "завязали" на NET - и "поломали" всё, что только можно, включая, например, возможность активировать вручную поддержку сжатия текстур по алгоритмам S3 и 3DFX, что ещё больше увеличивает и без того высокую производительность этих карт.

А вот сумеречные гении из компании ATI не стали взваливать на свои видеокарты математические обсчёты (а вершинные процессоры у них и свои были). Вместо этого, они, ничтоже сумящеся, взяли да и выпилили из своих поделий...2-д блок, свалив обработку 2-д графики на... Правильно, эти самые универсальные шейдерные процессоры, а если конкретнеё - на 3-д блок. Чтобы понять, ЧТО они сотворили, вовсе не обязательно читать документацию на этот самый HD4800, а надо прогуляться на сайты, где тусуются поклонники... "Вуды", скачать там какой-нибудь драйверок да 1-ой или 2-й Вуды и почитать прилагаемый к нему Readme. Там всё написано так доходчиво, что даже в переводе "от Надмозга" - дальнейших вопросов у вас не будет. Дело в том, что в своё время инженеры компании 3DFX прикидывали, не "свалить" ли им обработку 2д-графики либо на 3д-блок, либо вообще на GDI (читай - на центральный процессор). Но то были ПРОФЕССИОНАЛЫ, которые никогда и ничего не внедряли без обстоятельнейшей проверки "инновационных" решений во всех мыслимых и немыслимых ситуациях. А посему они от идеи объявить своё поделие "комбинированным 2D/3D - видеоадаптером" - отказались. Именно благодаря этому отказу, компания 3DFX и продержалась на рынке ещё несколько лет, пока её в буквальном смысле не "убили". Да, её убивали (а потом отвечали на вопросы об обстоятельствах смерти чисто в "кремлёвском" стиле - "Она разорилась." А вот кто и как её убил - целый исторический детектив, но про это - поговорим в другой раз.
А вот в ATI, по всей видимости, работали уже не профессионалы, а набранные работать "за еду" и картонно-фанерные хибары, построенные ещё в "лохматом" 1945 году для только что вернувшихся с фронта солдат, безработные "индокитайские" инженеры и такие же "погромисты". Результат был немного предсказуем. На то, что "отвалились" ещё и "софтверные" игры - никто уже даже внимание не обращал. Не до них было. Отвалился "флеш". Отвалились браузеры, которые к тому времени научились аппаратно ускорять рендеринг страниц силами видеокарт. Отвалились универсальные пакеты кодеков. Отвалился даже GIMP. Не надо удивляться тому, что я упоминаю эту программу. В умелых руках она во многом не уступает фотошопу, причём жрёт ресурсов на порядок меньше уже хотя бы потому, что не пихает в систему трижды никому не нужные сервисы, как это обожают делать продукты от ADOBE...
Что самое интересное, что вместо того, чтобы признать свою ошибку, ATI продолжала штамповать карты по образу и подобию злополучной HD4800. 5000-я серия... 6000-я серия... Ситуация исправилась только в 7000-й серии, которая меня приятно удивила. Но вернёмся к нашему "Гиганту траффика", который, как вы уже наверно догадались, идёт и на ТАКОЙ карте!

Вы, друзья мои, наверняка ожидаете, что я сейчас провозглашу "Гигант траффика" эталоном "всеядности". А вот фигушки! Пройдитесь-ка ещё раз по списочку видеокарт. Чего в нём не хватает? Правильно, видеокарт от Nvidia. Потому что игра на них...не идёт. Вообще. Ни на каких. GF 2/3/5200/6200/8600/9400/9500/210/240/630...По-моему, "выборка" - более чем достаточная. Почему игра на этих картах не запускается? А хрен её знает! Но вы-то наверняка уже догадались, в чём дело. И в Nvidia, куда геймеры жаловались то же прекрасно понимали в чём дело. Только доказать ничего не могли. Кого обвинять в том, что разработчики игры умышленно сделали так, чтобы игра НЕ шла на "жифорсах" (и только на них), если она идёт на чём угодно? У разработчиков игры на все претензии "нвидиотов" ответ один - "Это чисто ВАШИ проблемы. У ВСЕХ же идёт!"

Ну что, друзья мои, как вам понравилась история о "нечестных" игроделах? А ведь описанное мною ещё так, мелкое жульничество. Если сравнивать с... Но об этом - в последней части темы, а то время позднее, да и "букафф много" :) .

Пы.Сы. Спасибо за внимание :) . Надеюсь, продолжение скоро последует ;)
Последний раз редактировалось Oldgamer 30 янв 2016, 01:02, всего редактировалось 1 раз.
Oldgamer
Мастер Даунгрейда
 
Сообщения: 130
Зарегистрирован: 14 июл 2014, 19:34

Re: Размышления одной дивной арабской ночью...(Часть вторая)

Сообщение yadovit » 02 фев 2016, 08:35

Спасибо, почитал. Кстати, не обнаружил упоминания о видеокартах Matrox. Как у них дела обстоят?
Новый софт пишется для того, чтобы доказать, что ваше железо уже никуда не годится.
Аватара пользователя
yadovit
Мастер Даунгрейда
 
Сообщения: 291
Зарегистрирован: 18 окт 2012, 19:26
Откуда: Киргизия

Re: Размышления одной дивной арабской ночью...(Часть вторая)

Сообщение Oldgamer » 02 фев 2016, 18:52

yadovit писал(а):Спасибо, почитал. Кстати, не обнаружил упоминания о видеокартах Matrox. Как у них дела обстоят?


Это Вам спасибо за то, что хватило терпения на мою писанину. По поводу "матрасов"... Сложно сказать... Реальных карт этого семейства я, по правде говоря, уже стопицот лет "живьём" не видел. В принципе их Soviet PC эмулировать умеет, только очень "криво". Будет время, попробую на днях 95-ю туда затолкать и отпишусь о результатах. Оно конечно, виртуальная карта, да ещё и с "недопиленной" эмуляцией - не реальная :( , но за неимением лучшего...
Oldgamer
Мастер Даунгрейда
 
Сообщения: 130
Зарегистрирован: 14 июл 2014, 19:34

Re: Размышления одной дивной арабской ночью...(Часть вторая)

Сообщение yadovit » 02 фев 2016, 19:02

Просто у меня реальный Matrox (см.конфиг под авой) работает. В своё время, вплоть до серии MGA 4хх равных им было не много. Уже позже, их nVidia и 3dfx нагнули.
Новый софт пишется для того, чтобы доказать, что ваше железо уже никуда не годится.
Аватара пользователя
yadovit
Мастер Даунгрейда
 
Сообщения: 291
Зарегистрирован: 18 окт 2012, 19:26
Откуда: Киргизия

Re: Размышления одной дивной арабской ночью...(Часть вторая)

Сообщение Oldgamer » 02 фев 2016, 19:25

yadovit писал(а):Просто у меня реальный Matrox (см.конфиг под авой) работает. В своё время, вплоть до серии MGA 4хх равных им было не много. Уже позже, их nVidia и 3dfx нагнули.


Абсолютно с Вами согласен. Просто у них хватило ума не торопиться объявлять свои карты 3д-ускорителями, как это сделала S3, например. В "своей" нише - "профессиональный 2-д ускоритель", им, имхо, по сей день равных нет. Карты 3DFX, кстати, конкурентами (опять-таки, имхо) - "матрасам" не были. Скорее - неплохими игровыми "довесками". А вот Нвидиа - да, тут "матрасы" явно проигрывали "кривам" из-за программного, по сути, OpenGL. Но, как бы то ни было, если не ставить этим картам непосильных для них задач - в принципе даже в наше время ими пользоваться можно, под NT5.x, разумеется :)

По горячим следам...И на виртуальной карте игра пошла :D
Последний раз редактировалось Oldgamer 03 фев 2016, 00:07, всего редактировалось 2 раз(а).
Oldgamer
Мастер Даунгрейда
 
Сообщения: 130
Зарегистрирован: 14 июл 2014, 19:34

Re: Размышления одной дивной арабской ночью...(Часть вторая)

Сообщение uav » 08 фев 2016, 21:28

Oldgamer, спасибо за обзор, прочитал с интересом.

Интересно, как эта игра определяет установленную видеокарту? Помню, в программе 3D Analyze можно было перекрывать своими VID и PID видеокарты - интересно бы с этой игрой попробовать.
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 1911
Зарегистрирован: 22 дек 2008, 14:21

Re: Размышления одной дивной арабской ночью...(Часть вторая)

Сообщение Oldgamer » 18 фев 2016, 21:35

uav писал(а):Oldgamer, спасибо за обзор, прочитал с интересом.

Интересно, как эта игра определяет установленную видеокарту? Помню, в программе 3D Analyze можно было перекрывать своими VID и PID видеокарты - интересно бы с этой игрой попробовать.


Это Вам спасибо за отзыв. А насчёт игры... Полагаю, что где-то в её "недрах" запрятан список "вендоров", с которым она сверяется при запуске. "Логов", она, кстати, не создаёт ;) . Идея с Analize - любопытно. Будет время - действительно надо попробовать, чисто интереса ради, хотя я её, собственно, чисто ради примера приводил, в рамках истории "вопроса". Просто всё недосуг эту тему до конца добить, увы. А уж к новым и подступаться боюсь, бо бескрайние :shock: . Одна другую за собой тянет...
Oldgamer
Мастер Даунгрейда
 
Сообщения: 130
Зарегистрирован: 14 июл 2014, 19:34


Вернуться в Прочее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15