Русский
Русский
English
Статистика
Реклама

Видеокарта

Перевод Интеграция собственных шрифтов в ПЗУ VGA-карты

27.05.2021 22:07:59 | Автор: admin

История об изысканиях возможных путей использования в видеокарте собственных шрифтов, которая увенчалась их полной интеграцией в ПЗУ VGA. На этом пути рассматривались различные варианты, возникали определенные сложности, но в конечном итоге старое доброе отображение шрифта было получено!

Предыстория


Когда-то давно у меня была видеокарта ISA VGA Chips and Technologies, в которой использовался приятный шрифт. Позднее мне довелось владеть еще одной интересной картой ATI EGA с красивым шрифтом. И сейчас у меня установлена ATI VGA Wonder 16 тоже с весьма привлекательным шрифтом. Суть в том, что все названные ISA-видеокарты очень медленные.

Первые две я продал, а последнюю все же решил оставить. Время от времени я ностальгирую по экземпляру от Chips and Technologies. Я так и не понял, почему ПК всякий раз выдавал звуковой сигнал ошибки VGA, хотя работала карта при этом отлично.

Ну да ладно, вернемся к современности. Для моих изысканий в области разработки самодельных систем необходима быстрая ISA-видеокарта. Исходя из этих соображений, я купил новую (!) залежавшуюся (и при том дорогую) Tseng Labs ET4000/W32i с 2Мб ОЗУ у парня по имени Тед Аллен, владельца Micro-Labs Inc. в США. Работает эта карточка идеально. Я без проблем могу запускать игры под MS-DOS, включая Quake в разрешении 320х200.

И все же, поскольку я до сих пор много программирую в MS-DOS, мне зачастую недостает шрифтов тех видеокарт, на которых я учился писать код. В купленной же мной карте Tseng Labs используется монотонный (считай квази-скучный) современный типовой шрифт из ПЗУ. Он не столь плох, как шрифты PCI-видеокарт, но все же.

Вступление


Шрифты в ПЗУ VGA не так уж легко заменить. Однако есть быстрый способ, который позволяет загружать собственный шрифт в ОЗУ VGA. Это делается с помощью небольшой резидентной программы, которая обеспечивает использование видеокартой заданного шрифта. Но по какой-то причине после запуска нескольких программ MS-DOS, устанавливающих собственные шрифты (например, HWiNFO, NSSI, NU), или программ графического режима резидентная утилита дает сбой, и карта возвращается к исходному шрифту из ПЗУ. Кроме того, она занимает 4096 байтов ОЗУ под данные шрифта и еще 368 байтов под программный код.

Чтобы решить эту условную проблему с памятью, я поместил резидентную программу в AUTOEXEC.BAT. Теперь эти 4.3Кб загружаются в свободный блок верхней области памяти (UMA). Для этого также должен быть загружен EMM386.EXE или аналогичный драйвер расширенной памяти.

Программное обеспечение


Но как же я создал свой собственный шрифт? Что ж, сначала я использовал FONTEDIT.COM. К сожалению, эта программа может генерировать лишь .COM файлы без возможностей резидентной программы. Может, я просто не знаю, как это делается? Еще одна проблема в том, что размер исполняемой программы получается около 8Кб.

Тогда-то я и нашел в интернете новую интересную утилиту Fontraption, написанную VileR. Он создал настолько грамотный продукт, что я оценил его уже сразу после загрузки.

Плохо лишь то, что Fontraption при отрисовке моей Tseng Labs ET4000/w32i выглядит как-то странновато. Окно редактирования шрифта вроде в порядке, но было бы лучше, если бы весь интерфейс прорисовывался также четко.



Очевидно, что VileR создавал эту программу с удовольствием. Он даже внедрил в нее техники управления палитрой, добавив таким образом комбинации цветов, которые по умолчанию на VGA-картах недоступны. Лично у меня с этой темой ассоциируются далекие воспоминания. Это был где-то 1997 год, когда я работал на 80286 ПК, подключенном к янтарно-монохромному ЭЛТ-монитору Tandon. Он был очень похож на газоразрядный дисплей, который, в свою очередь, походил на созданную VileR палитру Plasmatics.



Дополнено позднее: VileR нашел способ исправить баг и отправил мне обновленную версию Fontraption. Теперь она работает прекрасно, верно загружая шрифты из ПЗУ VGA. Исправление оказалось простым, но сама суть проблемы весьма интересна. Как сказал VileR:

[...] при обращении к VideoBIOS для загрузки встроенных шрифтов BL устанавливает целевой блок в карте 2 ОЗУ VGA (от 0 до 7), а для шрифта 8 х 16 у меня по случайности было установлено значение BL=8. Невалидно, но работает с большинством BIOS, поскольку они выполняют для этого значения операцию AND с 7. Тем не менее Tseng этого не делает, и шрифт не применяется, в результате чего программа при считывании из ожидаемого блока (0) получает мусор []

И вот теперь я думаю, что именно хотели преодолеть те программисты BIOS с помощью этой странной операции AND в нижней части регистра BX. Должна быть какая-то причина, но вскроется она наверняка нескоро.



Ну да хватит лишних слов, продолжим.



Таким образом, я приступил к разработке шрифта моей мечты. Кому-то он покажется красивым, кому-то, наоборот, страшным. Но мне он очень нравится. Это первый вариант шрифта, и я доволен. Еще многое предстоит проделать. Я проделал над этими шрифтами много работы, и теперь они вполне готовы к использованию. В основу моего дизайна лег оригинальный шрифт, который я извлек из ПЗУ ET4000/W32i. После я усердно старался вспомнить, как же именно выглядели старые шрифты, и опирался при этом на образец из ПЗУ ATI VGA Wonder 16.

Я экспортировал этот шрифт в виде исполняемой резидентной программы и радостно использовал его около года. Несколько же дней назад, работая над собственной реализацией ПЗУ BIOS для интерфейса ввода/вывода ISA, я подумал о включении этого шрифта в реальный код VGA BIOS. Это, конечно, может быть опасной и безумной затеей, но вполне выполнимой.

Для ее реализации я экспортировал сырой шрифт в двоичный файл с помощью команды Fontraption [^S]ave... F2. Отлично, наличие Fontraption фактически избавило меня от необходимости писать собственный инструмент для извлечения и управления шрифтом из ПЗУ.

Итак, я начал анализировать VGA BIOS своей Tseng Labs, для чего мне понадобился дамп ПЗУ-памяти. Не так давно я написал небольшую утилиту, способную считывать содержимое ПЗУ, код которой вместе с двоичным файлом загрузил на GitHub.

Изначально я создавал эту программу под использование с EEPROM 28C64B на моем интерфейсе ISA, но единственное существенное отличие здесь в наличии кода защиты от записи (SDP). Используется же он только для задач, связанных с записью EEPROM. В реальности эта программа может считывать любую ПЗУ, отображенную в ПК, при условии, что известен адрес отображения, и ее размер не превышает 32768 байтов.

GitHub Репозиторий: https://github.com/agroza/eepromrw
Основная программа: eepromrw.pas

Для получения ПЗУ VGA BIOS я использовал эту команду:

eepromrw.exe -read -addr=C000:0000 -size=8000 -file=vgarom.bin

Она считывает 32768 байтов (8000 в hex-системе) из адреса, обозначенного сегментом C000: 0000, в двоичный файл VGAROM.BIN.

После я написал еще один быстрый и грубоватый инструмент, сканирующий файл VGAROM.BIN в поиске стартовой точки размещения шрифта 8 x 16 в ПЗУ. В памяти Tseng Labs этот шрифт начинается в смещении 17984 (461C в hex-системе). На данный момент я не знаю, является ли это смещение стандартным для шрифта 8 х 16, хотя, меня это не особо волнует, так как моя цель заменить исходный шрифт из ПЗУ на собственный.

Итак, пришло время писать еще один инструмент, который эту замену реализует. Изначально его код получился страшноватым с большим количеством жестко прописанных констант. В итоге мне потребовалось кое-какое время на доработку в соответствии с собственными стандартами, после чего я уже смог выгрузить приемлемую версию на GitHub.

GitHub Репозиторий: https://github.com/agroza/romfontr
Основная программа: romfontr.pas

Новый шрифт в ПЗУ VGA BIOS я вшил с помощью этой команды:

romfontr.exe -offset=461C -romfile=vgarom.bin -fontfile=ag868x16.bin

Она записывает 4096 байтов (1000 в hex-системе) данных шрифта из AG868X16.BIN в заданное смещение (461С в hex-системе) файла VGAROM.BIN.

Аналогичные операции я проделал для всех размеров шрифтов и всех смещений, где эти шрифты могут находиться:

  • [12015 (2EEF)] данные шрифта 8 x 14 размером 3584 байтов;
  • [15900 (3E1C)] данные шрифта 8 x 8 размером 2048 байтов;
  • [17948 (461C)] данные шрифта 8 x 16 размером 4096 байтов.

Пока все хорошо, но есть еще один нюанс. ПЗУ VGA BIOS это дополнительная ПЗУ, и у нее есть контрольные суммы. Если System BIOS не находит действительную контрольную сумму в конце ПЗУ, то отказывается ее инициализировать. В результате никакого вывода видео, несмотря на нетронутость кода VGA BIOS и наличие шрифтов 8 x 16.

Теперь пора писать еще одну программу. Так, стоп У меня уже есть такая, которая генерирует 8-битные контрольные суммы ПЗУ. Писал я ее для Windows, но она вполне подойдет, так как для программирования микросхем я все равно использую именно эту ОС. Данная программа также загружена на GitHub.

GitHub Репозиторий: https://github.com/agroza/romcksum
Основная программа: romcksum.dpr

Вычисление и обновление ПЗУ VGA BIOS я делал с помощью этой команды:

romcksum.exe -o -vgarom.bin

Она вычисляет 8-битную контрольную сумму всех данных ПЗУ и соответствующим образом обновляет последний байт. Более того, дополнительный параметр -O сообщает программе, что файл нужно проверять как дополнительную ПЗУ.

Дополнено позднее: я добавил функции вычисления контрольной суммы и обновления непосредственно в программу ROM Font Replacer.

Это означает, что теперь команда, которую я мог использовать для вложения нового шрифта в ПЗУ VGA BIOS и вычисления -> обновления 8-битной контрольной суммы, выглядит так:

romfontr.exe -u -romfile=vgarom.bin -fontfile=ag868x16.bin

Такая возможность все ускоряет и позволяет пропускать промежуточный шаг использования программы ROM Checksum Calculator.

Теперь файл ПЗУ BIOS видеокарты Tseng Labs ET4000/W32i содержит мой собственный излюбленный шрифт 8 х 16 в качестве основного для всех текстовых режимов. На этом программная часть заканчивается и можно переходить к аппаратной.

Реверс инжиниринг ПЗУ VGA BIOS


В первую очередь мы займемся реверс-инжинирингом. Но почему? Потому что, если карта установлена в режим 03h, то она автоматически заменяет несколько выбранных глифов на кастомные, которые расположены после 4096 байтов данных шрифта 8 х 16. Не уверен, какая логика стоит за этим, но решение это очень интересно. Странность в том, что если переключить карту в режим 11h или 12h, то шрифт 8 х 16 используется корректно, и никакие глифы не заменяются.

Эту тайну быстро раскрыл мистер VileR. Я начал с ним беседу по поводу проблемы с отрисовкой Fontraption и попутно рассказал о глифах. Он сказал, что это альтернативные глифы шрифта для режимов 9 х 16. Я знал о них еще в 90-х, но мне было неизвестно, где и как они хранятся в ПЗУ.

Очевидно, что есть таблицы шрифтов 9 х 14 и 9 х 16, расположенные сразу после стандартных таблиц 8 х 14 и 8 х 16. В частности, каждому типу глифа предшествует байт, обозначающий код символа ASCII. В процессе обратного инжиниринга вскрылся еще один интересный факт, а именно то, что эти альтернативные таблицы шрифтов завершаются нулевым байтом.

Поэтому я дополнительно создал расширенные варианты шрифтов 9 х 14 и 9 х 16, после чего написал еще одну программу, которая выделяет эти расширенные глифы из массива данных шрифтов и записывает их в отдельные файлы в формате, ожидаемом процедурами отрисовки ПЗУ VGA ROM. Затем я совместил эти файлы с измененной ПЗУ VGA ROM и повторно вычислил байт контрольной суммы.

Структура всей области данных шрифтов ПЗУ VGA видеокарты Tseng Labs ET4000/W32i такова:

  • [12015 (2EEF)] данные шрифта 8 x 14 размером 3584 байтов;
  • [15599 (3CEF)] альтернативные данные шрифта 9 x 14 (19 глифов) размером 300 байтов;
  • [15899 (3E1B)] нулевой байт (0);
  • [15900 (3E1C)] данные шрифта 8 x 8 размером 2048 байтов;
  • [17948 (461C)] данные шрифта 8 x 16 размером 4096 байтов;
  • [22044 (561C)] альтернативные данные шрифта 8 x 16 (18 глифов) размером 323 байта;
  • [22367 (575F)] нулевой байт (0).

Общий размер данных шрифтов ПЗУ VGA составил 10353 байта.

Я закончил изменение обоих пакетных файлов MS-DOS, которые использовал для тестирования, и теперь они записывают все данные шрифтов последовательно в файл VGAROM.BIN. Ниже приведено исполняемое содержимое этого файла, который также вычисляет и обновляет 8-битную контрольную сумму.

romfontr.exe -u -offset=2EEF -romfile=vga.bin -fontfile=ag868x14.binromfontr.exe -u -offset=3CEF -romfile=vga.bin -fontfile=ag869x14.binromfontr.exe -u -offset=3E1C -romfile=vga.bin -fontfile=ag868x8.binromfontr.exe -u -offset=461C -romfile=vga.bin -fontfile=ag868x16.binromfontr.exe -u -offset=561C -romfile=vga.bin -fontfile=ag869x16.bin

Теперь у меня есть полноценный файл ПЗУ VGA BIOS со всеми новыми шрифтами и их альтернативными представлениями.

Работа с платой


Ниже вы видите мою Tseng Labs ET4000/W32i от Micro Labs. Мне очень нравится ее компоновка. Помню, что спрашивал Теда, какую программу CAD он использовал, но его ответ уже позабыл. Было бы здорово задокументировать и это тоже для истории.

В данной видеокарте использован неизвестный тип EEPROM. Неизвестный, потому что на ней наклеен красивый фиолетовый лейбл с надписью Made in America, который я не хочу ни сдирать, ни портить. В итоге узнать тип установленной EEPROM не получается. Однако шелкография на печатной плате гласит, что это 27C256. Вообще-то, я бы итак мог поспорить, что установлена именно 27C256 (или совместимая), потому что большинство, если не все, VGA-карты оснащались ПЗУ на 32Кбит.



Время знакомиться с видеокартой подробнее. Кроватка ПЗУ здесь одна из самых дешевых. Так как произведена карта в США, я бы ожидал, что Micro Labs используют Mill-Max или нечто подобное. Но они все же пошли по пути снижения стоимости, как это было свойственно производственным компаниям в то время. Тем не менее под кроваткой мы видим надпись: PCB MADE IN HONG KONG.

Ага! У США были (и еще есть) отличные предприятия по производству печатных плат. Но их услуги выливаются в приличную копеечку, которая в итоге отражается на стоимости конечного продукта. Как ни крути, а в конце-концов все производственные расходы оплачивает именно покупатель. Плата сделана добротно не лучше и не хуже большинства компьютерных плат начала 90-х. Однако она явно не сравнится по качеству с платой моей ATI VGA Wonder 16.



За генерацию тактовых частот карты отвечает интегральная схема CHRONTEL CH9294. Такие до сих пор можно приобрести на различных сайтах. В качестве RAMDAC* использована AT&T ATT20C490-80. Эта деталь тоже вполне доступна онлайн, как и микросхема ET4000/W32i. Тут я даже призадумался: А не собрать ли мне собственную VGA-карту? У меня все еще имеется каталог спецификаций Tseng Labs, и этот VGA-контроллер вместе с образцом схемы подробно в нем описан. Я бы даже мог улучшить дизайн, использовав современную более дешевую и доступную память. Но это уже отдельная тема, и пока она остается лишь пищей для размышлений.

*RAMDAC (сокр. от Random Access Memory Digital-to-Analog Converter) это часть компьютерной видеокарты, которая преобразует цифровые данные в аналоговый сигнал, отображаемый на мониторе компьютера.



Память представлена 16 микросхемами NN51425P производства NPNX, Япония. Честно, я ранее не слышал ни об этой компании, ни о подобных микросхемах памяти. В моем экземпляре карты один из модулей, а именно U12, не соответствует остальным и рассчитан не на 45 нс, а на 50.

Далее я демонтирую кроваткумикросхемы ПЗУ VGA BIOS. Эта операция не для трепетных сердец, но мне уже доводилось проделывать такую на других компьютерных платах. Я планирую использовать качественную кроватку Mill-Max класса AUGAT. Это упростит дальнейшее экспериментирование с различными микросхемами ПЗУ VGA BIOS.







После вмешательства сторона пайки смотрится вполне себе неплохо, и сама видеокарта будто только сошла с заводского конвейера.



Далее я запрограммирую микросхему EPROM 27C256-15 от Texas Instruments, допускающую стирание с помощью УФ. Для этих целей я использую универсальный программатор TL866II Plus, который мне очень полюбился. По началу после его покупки меня терзали некоторые сомнения, но после они полностью развеялись. Единственная сложность теперь это стирание EPROM. УФ-лампы у меня под рукой нет, но можно сымпровизировать, разбив стекло ртутной газоразрядной лампы на 250Вт.


Старая ПЗУ и новая EPROM

Эта ртутная лампа является мощным источником УФ-излучения. И поскольку у меня нет электронного балласта 250Вт, то в качестве его альтернативы я использую три вольфрамовых лампы накаливания (две по 75Вт и одну на 100Вт), соединив их последовательно с ртутной.



Очевидные рекомендации:

  • Никогда не смотреть на источник УФ-излучения, так как это может вызвать необратимую слепоту.
  • Разбивание стеклянной колбы также очень опасно, поскольку пары ртути чрезвычайно вредны для дыхательной системы.
  • Работа с оголенными внутренностями ртутной лампы представляет высокий риск поражения током и тем самым угрозу для жизни.

В моем случае риски минимизированы, так как опыт обращения с подобным инструментом у меня есть. В дальнейшие подробности я вдаваться не буду, но самое важное отмечу.

С этим импровизированным устройством я оперирую вне дома, так как УФ-излучение ионизирует воздух, производя озон. На улице я размещаю схему EPROM под ртутной лампой при отключенном питании. После этого удаленно подаю напряжение, находясь в нескольких метрах от места. Никогда нельзя исключать возможный риск взрыва ртутной лампы. С момента подачи питания я отсчитываю пять минут и выключаю устройство. Затем тестирую EPROM, определяя, все ли байты перешли в состояние FF. Если стирание произошло не полностью, я облучаю ее еще минуту и повторяю тест. Подобные одноминутные циклы я повторяю до тех пор, пока память не будет полностью стерта. Обычно мне удается добиться этого за 7-8 минут.

Дополнение: ночное сжигание битов с байтами. На меня нахлынула волна энтузиазма, и я увлекся стиранием еще нескольких EPROM, подготовив их к новому микрокоду. Все фото, где наблюдается УФ-излучение, сделаны удаленно при помощи автосъемки.





Отлично, EPROM очищена. Все биты установлены на 1 (иначе говоря, все байты в hex-системе сейчас выражены как FF). Микросхему я запрограммировал обновленным файлом ПЗУ. Кроватка на месте, и EPROM встает в него впритирку.



Время проверять карту. Ниже вы видите полученный результат. Большую часть времени я провожу в DOS-навигаторе и IDE Pascal, поэтому вполне естественно, что мне нравится, когда экран выглядит именно так.





Я уже и забыл, какая это морока фотографировать ЭЛТ-дисплеи Очень уж сложно не поймать линию развертки электронного луча где-нибудь в середине экрана.

Теперь все работает отлично. Никаких больше сбросов шрифтов после запуска HWiNFO. Да и вообще изображение мне очень нравится, так что на этом данный опыт можно завершать.

Надеюсь, что для вас он оказался интересен.


Подробнее..

Анонс Nvidia Ampere Как Хуанг всех приятно удивил

06.09.2020 12:06:19 | Автор: admin
Никто не станет отрицать 2020 год толком не успел начаться, как сразу же вошел в историю. Сложная обстановка в мире, где политические амбиции пересекаются с экономическими антирекордами, сильно усложнила привычный расклад вещей. Но несмотря на все невзгоды, текущий год не потерял статуса самого захватывающего года новинок в сфере компьютерного железа. Новое поколение консолей, новые видеокарты и процессоры ближайшие месяцы будут жаркими и интересными для каждого энтузиаста нашей сферы. И буквально в первый же день осени, 1 сентября, в 19:00 по московскому времени неподражаемый Дженсен Хуанг на своей уютной кухне представил всему миру Ampere долгожданное семейство новых игровых видеокарт nVidia.

image

Слухи об Ampere ходили еще с начала года, но по большей части не сулили фанатам зеленых ничего хорошего. Многолетнее партнерство NVidia с TSMC, лидером рынка наиболее совершенных кремниевых пластин, оказалось под угрозой после череды ударных успехов AMD. Красный гигант занял на будущее рекордный объем будущих 7-нм пластин, оставив Дженсену Хуангу лишь толику необходимых объемов. Переговоры между компаниями длились долго, но соглашения достичь не вышло. Оставив на балансе старого партнера производство чипов для карт серии Quadro, nVidia обратилась к единственной доступной альтернативе корейскому Samsung.

В итоге в основу линейки Ampere легли чипы, произведенные по 8-нм техпроцессу Samsung не слишком энергоэффективные и уступающие изделиям TSMC, но несравнимо дешевые, а потому крайне выгодные nVidia. Впрочем, о производственных проблемах корейских фабрик знали далеко за пределами рынка, и поэтому Big Navi в очередной раз казалась куда интереснее.

Перейдем к самому мероприятию. Заметим, что 21 день. 21 год можно было воспринять как смелую попытку смены парадигмы в названиях Дженсен много издевался над любителями смаковать утечки во времена Turing, но RTX 2180 все же не случилось. Трансляцию открывал красивый ролик с ключевыми достижениями графики, отчет которых начинался с GeForce 256 и заканчивался последними картами семейства Turing. Дженсен Хуанг с улыбкой и явным удовольствием рассказывал и о трассировке лучей, и о тензорных ядрах на основе продвинутых AI-алгоритмов, и даже о том, что традиционная растеризация вот-вот достигнет потолка, после которого на сцену выйдут другие технологии. Очевидно, речь идет именно про RTX переходя к сути, Дженсен Хуанг представил ключевые преимущества Ampere.

image

RTX 2.0 В 2 раза больше производительности


Ключевой фишкой поколения Turing стало появление технологии RTX трассировки лучей в реальном времени. Кинематографичные презентации Nvidia на некоторые время пленили всех красотами отражений, но уже совсем скоро стало понятно, что мощности RT-ядер недостаточно для комфортной игры с новыми плюшками. На примере недавней демонстрации Cyberpunk 2077, где нас тоже ожидают RTX-чудеса, поколение Turing снова будет не у дел 2080Ti не обеспечивает в будущей новинке даже 60 кадров в секунду в разрешении Full HD, что уж говорить о 4К. Остается только посочувствовать тем, кто успел недавно разориться на карты уходящего поколения.

Ampere же совсем другая история. Следующее поколение RTX обещает решить проблему низкой производительности с трассировкой лучей, из-за чего старые проблемы канут в лету. Больше никаких 40 кадров в Control с RTX ON а всё благодаря серьезному росту всех компонентов системы (тензорных ядер, SM-блоков и RT-ядер). Дженсен Хуанг обещает геймерам прирост по меньшей мере в 80%, но в некоторых играх можно без труда увидеть и двухкратный рост производительности в сравнении с RTX в исполнении Turing.

На практике двухкратный рост производительности RTX 3080 на фоне RTX 2080 продемонстрировали специалисты Digital Foundry, очень независимый hands-on которых вышел практически сразу после презентации Хуанга.

image
image
image
image

И на первый взгляд это серьезное достижение, но серьезное ли? Во-первых, презентация скрыла от зрителей самое важное число FPS, ограничившись процентами. Во-вторых, скоро на рынок выйдут консоли, в которых будет собственный RTX, и их красные лучи могут оказаться не сильно хуже зеленых лучей Ampere. Само собой, такую катастрофу, как Turing, nVidia просто не могла себе позволить перед релизом новых платформ Sony и Microsoft. Снова не завидуем тем, кто купил 2080Ti в надежде на светлое будущее.

RTX I/O Догнать и перегнать фишки PlayStation 5


Помните, как Марк Церни, ведущий архитектор PS5, при каждом удобном случае подчеркивал преимущества совершенной системы консоли, которая работает с данными в разы быстрее среднего современного ПК? Забудьте теперь над такими заявлениями можно будет только посмеяться.

Для достойного ответа кудесникам из Sony NVidia презентовала технологию RTX I/O своеобразный подход к обработке данных, заточенный под будущие релизы. Дженсен справедливо отметил, что современные ААА-хиты (да и другие знаковые проекты) с каждым годом становятся всё объемнее, и загружать те же 200 Гб текстур с жесткого диска уже просто невозможно. Даже современные SSD испытывают трудности с такими массивами данных, и именно здесь на помощь накопителям приходит хитрая технология nVidia.

image

Во время презентации Дженсен Хуанг продемонстрировал преимущества RTX I/O одной незамысловатой схемой согласно ей, данные с накопителя кэшируются напрямую в видеопамять карты Ampere, минуя процессор и подсистему памяти. При этом главным недостатком традиционного подхода Хуанг назвал отнюдь не узкую шину, а высокую нагрузку на CPU. Так, NVME-накопители последнего поколения способны загрузить целых 24 потока, что не пройдет бесследно в тяжелых игровых сценариях. По сути, в PS5 будет реализована похожая система, но nVidia предлагает её преимущества в более упрощенном формате.

Программные новинки NVidia Reflex, Broadcast, Omniverse Machinima



Вместе с красивыми графиками Дженсен Хуанг рассказал и о новых программных технологиях, призванных сделать покупку Ampere еще выгоднее. К примеру, киберспортсмены оценят преимущества nVidia Reflex, сводящей на нет большую часть задержек компонентов ПК на уровне драйвера обычно это значение составляет 30 мс, но с помощью Reflex его можно сократить более чем наполовину. Для уверенного доминирования над противником Хуанг рекомендовал использовать технологию в паре с новеньким монитором. Такие, с частотой обновления в 360 Гц должны выйти на рынок уже в ближайшие месяцы.

image

NVidia Broadcast прекрасный инструмент для стримеров, ведущих подкастов и других творческих личностей, покоряющих YouTube или Twitch. С его помощью можно убрать посторонние шумы, локализовав источники звука, размыть, заменить или вовсе убрать задний фон с веб-камеры всего в два клика. Всё это стало возможным благодаря появлению совершенных алгоритмов на базе машинного обучения.

Не забыли NVidia и о разработчиках, для них был представлен уникальный в своем роде инструментарий для создания эффектных роликов и презентаций, а также работы с ассетами. Он получил название Omniverse Machinima в честь тех самых легендарных машиним из светлого прошлого. В рамках анонса примером работы Omniverse послужила Mount & Blade 2: Bannerlord, на базе ассетов которого всего за несколько дней был создан кинематографичный ролик с полностью анимированным персонажем. С помощью Omniverse станет возможным моделирование мимики и анимации рта героя по голосу актера озвучки, построение общих анимаций моделей и многое другое. Этот интересный набор инструментов станет доступным для общего тестирования уже в октябре. Возможно, на горизонте маячит новый золотой век машиним.

Остается лишь один вопрос где же новая графическая оболочка драйвера для обладателей видеокарт nVidia? Почему Radeon Adrenalin всё еще является более совершенным и продвинутым, а Дженсен не спешит шагнуть в XXI век? К сожалению, ответа на эти вопросы мы не знаем до сих пор. А теперь поговорим об изменениях.

Позиционирование RTX 3000. Упрощенные названия, низкие цены


Поколение Ampere стало первым за долгие годы, в рамках которого компания NVidia отошла от традиции выпуска флагмана с индексом Ti. У такого неожиданного решения было несколько причин. Самой весомой из них стала серьезная путаница в модельном ряде, из-за чего бесконечные Ti, SUPER и модели с разной конфигурацией памяти то и дело портили настроение людям, пришедшим в магазин за видеокартой. Уложить в памяти то, какая карта быстрее и почему, было сложно и поэтому nVidia протянула руку помощи, создав максимально простую, интуитивно понятную линейку RTX 3000.

Флагманскую роль на этот раз исполнила классическая вторая карта линейки RTX 3080. Имея 10 Гб сверхбыстрой памяти GDDR6X и целых 8704 CUDA-ядра (что вдвое больше 2080Ti), новинка готова свернуть горы и заявленная двукратная производительность 2080 делает серьезную заявку на лидерство. Но зрителей анонса шокировало даже не это, а цена всего $699!

image

И нет, это не ошибка сам Дженсен признал, что Turing не смог склонить к апгрейду владельцев блестящих видеокарт семейства Pascal, но Ampere способен приятно удивить, причем сделать это недорого. И речь далеко не только о RTX 3080.
Та же RTX 3070, младшая модель из стартовой линейки, всего за $499 предлагает производительность выше 2080Ti! Да, у неё на борту всего 8 Гб обычной GDDR6 видеопамяти, но это не слишком умаляет очевидных достоинств. Вся мощь флагмана прошлого поколения за 40% от цены?

image

Но и это еще не всё. Отказавшись от бренда Titan, nVidia представила видеокарту для тех, кому важно не только играть, но и заниматься контентом на новом уровне. RTX 3090, которую даже Дженсен с трудом вытащил из печки, несет на борту 24 Гб памяти GDDR6X, и предлагает забыть о любых компромиссах.

image

На презентации nVidia для намека на мощность новинки даже показывали каких-то людей, играющих в разрешении 8К с 60 FPS. И эти люди были серьезно впечатлены! Вопросов нет, 3090 для серьезных людей. И владельцев 8К-телевизоров.
И всё же презентация состояла не только из светлого и прекрасного. Стоило снять зеленые очки и отвести взгляд от портрета Дженсена Хуанга на столе, как вопросы возникли сами собой. И сейчас мы разберем всё, что осталось за кадром анонса Ampere.

О чем умолчали на презентации Ampere? Подводные камни предзаказа


Любой анонс всегда стоит воспринимать со здравой долей скептицизма. Вспомните презентацию Turing, где слова Дженсена It just works и несколько красивых демо заставили людей до хрипоты доказывать друг другу, что за RTX будущее. И если в этом они не совсем ошиблись, то с покупкой карт поколения Turing многие допустили ошибку. Игр с поддержкой RTX в заявленном количестве так и не вышло, а те, что все-таки получили поддержку перспективной технологии, работали из рук вон плохо владельцы флагманских видеокарт продолжали играть с отключенными RTX, надеясь на будущее. И вот оно наступило и после анонса Ampere некогда счастливые владельцы 2080 SUPER или 2080Ti в спешке сбывают свои карты на Ebay по 400 долларов релиз всё ближе, и скоро былые флагманы превратятся в тыкву, обесценившись в разы.

Но что же графики? Дженсен Хуанг продажник от бога, мастер презентаций и душевный мужик, которому хочется верить всем сердцем. Но увы, в этот раз красивые значения не показывали нам самого главного, а именно значений FPS (которые были продемонстрированы позже на других каналах и только в определённых сценария и играх). Будь то множители (как в случае с RT-производительностью) или проценты (как в случае с демонстрацией от Digital Foundry) всё это никак не демонстрирует нам чистую производительность, и просто вводит в заблуждение. Не говоря уже о том, что многие цифры были получены с использованием DLSS 2.0 прекрасной технологии апскейлинга, которая творит чудеса с производительностью и картинкой но лишь там, где поддерживается. Ярким примером (показанным на презентации) был недавний ПК-релиз Death Stranding Кодзима прекрасно реализовал технологию в своем проекте, но опять же далеко не каждый разработчик на это способен, и общую картину это никак не показывает. Насколько же 3080 бодрее той же 2080 без RTX и DLSS? Ответ на этот вопрос знает лишь сам Дженсен Хуанг но вам не скажет, а то вдруг еще не предзакажете 3080.

Энергопотребление новинок тоже упоминалось только вскользь. Довольно жуткие цифры в 90% производительности на ватт могли создать у зрителей впечатление, что перед нами монстры, да еще и не слишком прожорливые, но это не так. Умеренной из трех карт является лишь RTX 3070 (с TDP в 220 Вт) её игрушечную систему охлаждения можно сразу заметить на фоне двух старших моделей. А там экспериментальная система, инновационный дизайн, внушительные габариты, и TDP, значения которых могут уходить за пределы 400 Вт (в разогнанных партнерских моделях). Такие цифры серьезно угнетают, но говорят они лишь об одном из двух или техпроцесс Samsung всё еще очень сырой, или же nVidia выжала из своих чипов всё, что могла, опасаясь то ли консолей, то ли таинственной Big Navi. В любом случае, если ваш интерес сосредоточен на 3080 или 3090, позаботьтесь и о покупке дорогого, хорошо зарекомендовавшего себя блока питания мощностью минимум на 650 Вт. KSAC не покупать!
Наконец, остается вопрос доступности. Новые видеокарты могут сильно задержаться на всех рынках за пределами США. Случай 2080Ti, которая добиралась до некоторых счастливых предзаказавших целых три месяца после релиза, намекает на то, что на этот раз картина будет как минимум схожей, а некоторые ретейлеры, почувствовав жажду наживы, будут предлагать новинки по таким ценам, что офигеет даже сам Дженсен Хуанг. Увы, современная ситуация в мире только способствует всякого рода перегибам.

К тому же никто не может сказать, какими окажутся партнерские наценки на карты семейства Ampere. Если самые дешевые 2080Ti можно было купить чуть дороже 1000 долларов, то лучшие модели продавались уже за $1200 и даже больше. Тысяча баксов за 3080? Не исключено, поэтому мы рекомендуем вам переждать релизный шторм, и купить видеокарту чуть позже по более приятной цене. Продажи Ampere стартуют совсем скоро. RTX 3080 за $800 появится в магазинах уже 17 сентября, RTX 3090 за $1500 ограниченным тиражом начнет продаваться 24 сентября, а RTX 3070 за вкусные $500 попадет на прилавки только в октябре.

image

Выводы. Ampere круто!


Что же в итоге? Дженсен Хуанг начал вещание с кухни, и поразил весь мир так, как этого не ожидал никто. Новое поколение оказалось не только существенно дешевле предыдущего, но и обещает самый крутой рывок производительности за поколение в истории, как заявляет сама nVidia. Фанаты ликуют, хейтеры ненавидят, а мы похвалим Дженсена за очередной прекрасный анонс смотреть трансляцию было одно удовольствие. А вам, друзья, советуем не отключать голову и не принимать поспешных решений. Дождитесь независимых тестов, не верьте в громкие заявления авансом.

Наш видеоролик по Анонсу nVidia Ampere:
image

Автор статьи Александр Лис.
Подробнее..

Recovery mode Как работает технология NVIDIA Reflex

29.01.2021 20:06:23 | Автор: admin

Помимо трассировки лучей и сглаживания DLSS 2.0 на базе ИИ, современные видеоигры (в частности, Fortnite) поддерживают еще и технологию NVIDIA Reflex, которая призвана снизить системную задержку, возникающую между нажатием на кнопку и отображением действия на экране (например: нажал клавишу мыши произошел выстрел).

Измерить задержку ввода непросто, поэтому в рамках NVIDIA Reflex используется комплекс программно-аппаратных средств. Сначала поговорим про новые 360-герцовые мониторы для киберспорта с модулем G-Sync, на котором работает Reflex Latency Analyzer. Помимо очевидных преимуществ высокой частоты обновления в соревновательных играх, анализатор задержек, интегрированный в дисплей, позволяет измерять задержку поддерживаемых мышек, которые подключаются к монитору, задержку ПК и задержку отображения кадра на дисплее.

Вся эта статистика выводится через интерфейс GeForce Experience. При помощи анализа задержек на разных этапах киберспортсмены и профессиональные игроки могут улучшить свои тактики, оптимизировать игровые настройки, либо собрать ПК с наименьшими задержками.

Какие видеокарты поддерживают NVIDIA Reflex и как ее включить

Теперь про программную составляющую NVIDIA Reflex, которая уменьшает системную задержку и, как следствие, делает управление более отзывчивым. Сначала отмечу, что сама технология NVIDIA Reflex поддерживается всеми картами, начиная с поколения Maxwell (карты 900-й серии), и не требует наличия G-Sync-монитора или какого-либо другого оборудования, кроме видеокарты NVIDIA. Чтобы получить отзывчивое управление в игре с поддержкой Reflex, достаточно залезть в графические настройки игры и включить соответствующую опцию.

Как работает технология NVIDIA Reflex: разбираем на практике

Когда производительность упирается в центральный процессор, CPU готовит команды для видеокарты на с запасом на 1-3 кадра (обрабатывает игровые данные, рассчитывает баллистику, готовит списки команд для графического адаптера). Для этого приходится захватывать управление на несколько кадров подряд, обрабатывать физику и игровую логику на процессоре на несколько кадров вперед и ждать пока видеокарта выведет все эти кадры на дисплей. Как следствие задержки увеличиваются в несколько раз и отзывчивость управления падает. Инструменты NVIDIA Reflex позволяют разработчикам избавиться от этой очереди из нескольких кадров.

Используя инструменты Reflex, игровой движок начинает готовить команды на процессоре за несколько миллисекунд до того, как видеокарта закончит рендеринг текущего кадра. Подобное умное планирование устраняет очередь из нескольких кадров на рендеринг управление захватывается для одного кадра, процессор считает игровую логику и физику для одного кадра, составляет список команд на отрисовку для GPU и сразу передает эти команды видеокарте без какой-либо очереди. Таким образом системная задержка сокращается в несколько раз.

Какие игры поддерживают NVIDIA Reflex

На текущий момент NVIDIA Reflex поддерживается в Fortnite, Valorant, Call of Duty: Warzone, Call of Duty: MW 2019, Call of Duty: Cold War, Destiny 2 и Apex Legends. В ближайшее время поддержка технологии появится в сетевых шутерах Overwatch и Rainbow Six: Siege. А Warzone, к слову, в скором времени получит еще и поддержку DLSS 2.0, что должно привести к получению еще большего фреймрейта для плавного гейминга.


Делитесь мнениями в комментариях на тему того, что думаете о технологии Reflex от NVIDIA. Пообсуждаем: стоит сия технология свеч? Или все это лишь очередная маркетинговая уловка, чтобы улучшить продажи 144/240/360-герцовых мониторов. Как думаете?

Подробнее..

Что такое G-Sync, FreeSync, V-Sync и HDMI VRR? Разбор

11.11.2020 16:12:52 | Автор: admin
Всех ПК-геймеров планеты Земля объединяет одна проблема вертикальные разрывы изображения.И вроде бы есть куча технологий которые решают эту проблему:
  • V-Sync,
  • G-Sync,
  • FreeSync
  • А ведь еще есть Adaptive Sync
  • А в HDMI 2.1 недавно добавили VRR.

Но легче от этого не становится. Только больше путаешься.Чем все эти технологии отличаются? Какую выбрать видеокарту и монитор? И будет ли это всё работать на телевизоре?

Давайте сегодня раз и навсегда разберемся в технологиях адаптивной синхронизации изображения.



Для тех кто не в курсе. А в чём собственно проблема?

Чтобы изображение появилось на экране, должно произойти, как минимум, две вещи:
  1. графический процессор должен подготовить кадр и передать его на монитор,
  2. ваш монитор должен показать этот кадр.

Вроде бы всё просто! Но тут кроется небольшой конфликт.Монитор работает по строгому расписанию. Нужно обновлять изображение на экране через равные промежутки времени, строго определённое количество раз в секунду. Этот параметр называется частотой обновления и измеряется он в герцах.

Обычные мониторы работают на частоте 60 Гц,то есть способны выводить 60 кадров в секунду, а игровые на 144 Гц и выше.



А вот графический процессор живет в совершенно ином мире. В играх постоянно всё меняется: колышется листва, журчит ручеёк, враги выпрыгивают из-за угла. Каждый кадр отличается по своей сложности, поэтому на их просчет уходит разное количество времени.

Иными словами, у монитора частота кадров постоянная, а у видеокарты переменная.

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

Из-за этого мало того что страдает плавность картинки, так еще и появляются артефакты в виде вертикальных разрывов изображения.Кстати, при просмотре фильмов тоже могут появляться такие артефакты, потому что кино снимают в 24 к/с.

V-Sync


Очевидно проблема требовала решения, и еще на заре компьютерных игр оно появилось! Название у этого решения вертикальная синхронизация или V-Sync. Наверняка вы встречали такую опцию как в настройках видеокарты, так и в играх.



Работает эта штука достаточно топорно. Фактически она просто принуждает видеокарту выводить кадры с частотой кратной частоте обновления экрана. Например, если у вас монитор 60 Гц, то максимальное количество кадров в секунду тоже будет 60, даже если ваша видеокарта способна на большее. И в общем-то часто такое ограничение вполне уместно, если у видеокарты хватает мощи и нет просадок ниже 60 к/с, но если они есть начинаются проблемы.

При включенной вертикальной синхронизации, следующее кратное значение это 30 к/с. Поэтому даже если ваш фреймрейт просел фактически всего на пару кадров, вы всё равно увидите падение до 30 к/с. Такой перепад мало того, что большой и очень визуально ощутимый, так ещё и будет происходить с небольшим лагом. Поэтому если стабильного FPS в 60 к/с или 30 не достичь, то включать V-Sync вообще нет никакого смысла.

Справедливости ради, чем выше герцовка монитора, тем больше мы имеем кратных значений, на которых может работать синхронизация. Поэтому на игровых мониторах V-Sync работает куда лучше.



Но история с кратными значениями не самая главная проблема технологии. Есть другой не очевидный недостаток: вертикальная синхронизация увеличивает задержку ввода, то есть Input Lag.

Игра медленнее реагирует на ваши действия, всё происходит с задержками и как-то плывёт в молоке, поэтому прицелиться становится гораздо сложнее. Почему так происходит?

Это интересно, смотрите!Каждый кадр рассчитывается и выводится на экран через один и тот же конвейер. Упростим его до трёх этапов.


  1. Каждое ваше действие, например щелчок мышки надо как-то интерпретировать и обновить состояние игры. За это отвечает центральный процессор (синяя полоса на картинке). Центральный процессорподготавливает кадры для графического процессора и помещает их в очередь рендеринга графического процессора.
  2. Затем графический процессор (зелёная полоса) берет эти подготовленные кадры из очереди и рендерит их.
  3. Только потом эти кадры выводятся на дисплей (серая полосочка на картинке).



Ну и в чём проблема, спросите вы? Дело в том, что ЦП не берется за подготовку следующего кадра, пока предыдущий не будет выведен на экран. Поэтому ограничивая количество выводимых кадров в угоду синхронизации с дисплеем, мы фактически увеличиваем задержки с которыми обновляется состояние игры! И если в каких-то простеньких играх типа пасьянса такие вещи допустимы, то в соревновательных играх вертикальная синхронизация может стать серьёзной помехой.

G-Sync


Но переживать не стоит,так как решение появилось еще в 2013 году. Именно тогда компания NVIDIA представила свою технологию адаптивной синхронизации G-Sync. В отличие от старой технологии, G-Sync позволяет подстраивать не видеокарту под частоту обновления монитора, а наоборот заставляет монитор менять свою частоту под видеокарту!

Представляете? Так тоже можно было!

В результате мы получаем потрясающе плавную картинку без вертикальных разрывов и задержки ввода! Просто сказка! G-Sync также работает в огромном диапазоне частот. Изначально это было от 30 до 144 Гц, а сейчас уже есть поддержка до 360 Гц и может даже выше, тут скорее всё зависит от монитора.

А если фреймрейт падает ниже 60 Гц G-Sync умеет дублировать пропущенные кадры.



Получаются сплошные плюсы и проблема решена еще в 2013 году? Так почему же мы до сих пор об этом говорим?

Ну как сказать. Во-первых, эта технология закрытая, соответственно, G-Sync работает только с карточками NVIDIA, но это пол беды.



Все волшебные функции G-Sync стали возможны благодаря специальному чипу, который необходимо встроить в монитор.Естественно, эти чипы производит тоже NVIDIA и стоят они недешево. Поэтому мониторы с поддержкой G-sync в среднем стоят на 250-300$ дороже и таких моделей очень мало. То естьполучилась классная, и для 2013 года революционная технология, но не универсальная и дорогая.

VESA Adaptive Sync




Поэтому уже спустя год, в 2014, Ассоциация стандартизации Video Electronics Standards Association или VESA представила открытую технологию Adaptive Sync, которая умеет, в принципе, всё то же самое, что и G-Sync, но без дорогостоящих чипов и работает на частотах от 9 до 240 Гц! Неплохо да?



Но для внедрения технологии нужно, чтобы её поддержку внедрили в прошивку и драйвер монитора, драйвер видеокарты, операционной системы и в игры!

А также необходимо наличие DisplayPort версии не ниже 1.2a, так как технология стала частью именно Display Port. Как видите, чтобы технология взлетела, нужно было проделать много работы. И этой работой занималась компания AMD.

AMD FreeSync


В 2015 году AMD внедрили Adaptive Sync в драйвера своих видеокарт и назвали технологию FreeSync.Реализация от AMD быстро получила очень широкое распространение. Добавить поддержку FreeSync в монитор оказалось настолько дешево, что сейчас сложнее найти игровой монитор без этой фичи, чем с ней.

Но AMD не остановились на просто внедрении стандарта от VESA.Также они добавили поддержку HDMI, начиная с версии 1.4.А в 2017 выпустили FreeSync 2, вкоторый добавилась поддержка HDR икомпенсацию низкой частоты кадров, как в G-SYNC.



Кстати, чуть позже, FreeSync 2 переименовали в в более элитное FreeSync Premium Pro, а обычный FreeSync для мониторов с частотой 120 Гц и выше стали называть FreeSync Premium. Хотя такие маркетинговые финты я не одобряю, но в остальном сплошной респект AMD за популяризацию стандарта.



Кстати, NVIDIA также в 2017 году добавила поддержку HDR и назвала это всё G-Sync Ultimate.



И вроде бы всё классно, в команде у красных и у зеленых есть по своей шикарной технологии. Но что делать, если у тебя видеокарта от NVIDIA, ты хочешь нормальную поддержку G-Sync, но покупать дорогущий монитор с этой технологией совсем не хочется?Или наоборот не покупать же Radeon только потому что у тебя монитор с FreeSync?

До недавнего времени выбора не было никакого. Хочешь подешевле и побольше выбор мониторов -покупай Radeon. В другом случае, придется раскошелиться.

G-Sync Compatible


Но в 2019 году NVIDIA пошли навстречу покупателям и добавили поддержку стандарта VESA Adaptive Sync в драйвера для своих видеокарт серии RTX, а также для карточки GTX 1080. А значит теперь можно легко насладиться лучшим из двух миров: взять себе карточку от NVIDIAи монитор с FreeSync по вкусу.Вот только есть проблема. Если на FreeSync мониторе не написано G-Sync Compatible значит он не был протестирован NVIDIAна совместимость и никаких гарантий, что всё будет работать нормально, вам никто не даёт. А NVIDIAтестируетдалеко не все, и далеко не самые доступные модели.



Поэтому инициативу по тестированию в свои руки взяло интернет-сообщество. Они составили табличку с огромным списком протестированных пользователями мониторов.

VRR


С мониторами, кажется, разобрались. Но как быть, если хочется поиграть на большом экране телевизора через консоль или ПК. Будет ли работать адаптивная синхронизация?Спешу вас порадовать будет! При условии что ваш ТВ оснащен портом HDMI версии 2.1, в который добавили технологию переменной частоты обновления VRR -Variable Refresh Rate.

Причём всё будет работать и с видеокартами от NVIDIA и с Radeon. Всё потому, что VRR это та же самая технология VESA Adaptive Sync, но теперь она стала ещё и частью стандарта HDMI 2.1.Именно таким образом адаптивная синхронизация реализована в консолях нового поколения. А также, вы удивитесь, в Xbox One S и One X. Да, в коробки текущего поколения от Microsoft VRR завезли даже раньше, чем HDMI 2.1.

Итоги




Что, в итоге спустя 6 лет после своего появления, технология Adaptive Sync стала фактически отраслевым стандартом.Захватив видеокарты от AMD и NVIDIA, телевизоры и даже интегрированная графика от Intel в 11-м поколении процессоров теперь поддерживает эту технологию.А это значит, что в светлом будущем мы будем жить без единого разрыва, по крайней мере, вертикального!
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru