Нa нaши вoпрoсы oтвeчaeт Aлeксeй Никoлaйчук, ширoкo извeстный кaк Unwinder. Сoздaтeль мoдa SoftQuadro и рaзрaбoтчик бeз прeувeличeния лучшиx утилит для мoнитoрингa, нaстрoйки и oвeрклoкингa видeoкaрт.
«МИР NVIDIA»: Рaсскaжи, пoжaлуйстa, Aлeксeй, с чeгo нaчaлaсь прoгрaммa RivaTuner, oткудa рoдилaсь идeя этoй утилиты?
Aлeксeй: С пoкупки Riva 128 в 1998 гoду. Для видeoкaрты бaнaльнo нe сущeствoвaлo сoфтa, пoзвoляющeгo нaстрoить eё тaк, кaк мнe бы тoгo xoтeлoсь. Рoднaя пaнeль нaстрoeк NVIDIA тoгo врeмeни былa в зaчaтoчнoм сoстoянии, из стoрoнниx инструментов для разгона существовал только платный PowerStrip. Поэтому и сел за разработку собственного инструмента для своих нужд. Делать утилиту публичной изначально не думал, на моём домашнем винчестере первая версия RivaTuner прожила почти пару лет. В сеть утилита попала только в 2000, по воле случая. В разговоре с одним из пользователей в конференции iXBT упомянул недокументированные настройки, которые я использовал для своей видеокарты, кто-то попросил поделиться инструментом для настроек — так и понеслось.
«МИР NVIDIA»: В скольких программах используются наработки (движок) RivaTuner?
Алексей: Из коммерческих продуктов на данный момент ядро RivaTuner используется только в MSI Afterburner. В прошлом — в HIS iTurbo, RightMark CPU Clock Utility, EVGA Precision.
«МИР NVIDIA»: Почему решил постепенно открывать доступ к программе (отрытые плагины, открытые базы для железа)?
Алексей: Я бы не сказал, что доступ к программе постепенно открывается. На самом деле открыта мизерная часть, исключительно в виде включенных в SDK примеров для сторонних разработчиков.
«МИР NVIDIA»: Откуда информация о новом железе? Дают сами производители или местами приходится покупать за свои кровные?
Алексей: Купить такую информацию нельзя даже при желании, она не продаётся. Большую часть спецификаций сейчас дают сами производители графических процессоров, но некоторые недокументированные вещи, увы, нужно исследовать самому, как и раньше. Самостоятельные «раскопки», по большей части, касаются вопросов поддержки карт AMD, NVIDIA же почти стопроцентно обеспечивает AIC-партнёров всем необходимым для разработки софта. NVIDIA также предлагает помощь с внутренней проверкой функционала ПО в своих тестовых лабораториях на новых графических процессорах ещё до их анонса.
«МИР NVIDIA»: Почему ограничена работа с напряжением ядра на не-MSI-картах в MSI Afterburner. Требование компании MSI?
Алексей: Искусственные ограничения функционала по требованию MSI — это догадки пользователей. И догадки, кстати, очень и очень грустные, поскольку на самом деле всё обстоит с точностью до наоборот, и компания MSI прилагает усилия в совершенно обратном направлении.
Работа с напряжением ядра — это не та функция, которая автоматически появляется в ПО и начинает работать сама по себе, по щелчку пальцами. Этот трудоёмкий функционал, подразумевающий кропотливую низкоуровневую реализацию поддержки каждой модели ШИМ-контроллера, использующейся для управления напряжением на каждой конкретной модели видеоадаптера. Таких разновидностей поддерживаемых контроллеров напряжений только для карт эталонного дизайна и для карт собственного дизайна MSI насчитывается несколько десятков.
Кроме этого, абсолютно каждая модель видеокарты, для которой поддерживается управление напряжением, в обязательном порядке содержит в ПО калибровочную информацию о себе (т. е. модель используемого ШИМ-контроллера, его уникальный аппаратный адрес, безопасные пределы регулировки напряжений с учётом специфик систем питания и охлаждения каждой отдельно взятой модели и так далее). Таких записей в базе данных ПО уже не десятки, а несколько сотен. Добавление каждой из этих записей (а это спецификации контроллеров, почти всегда публично недоступные, в обязательном порядке тестовый образец карты для разработки и отладки, стресс-тестирование живучести такой карты на предельных доступных пользователю значениях напряжений и так далее) обеспечивает своими силами MSI.
Чтобы поддержать работу с напряжением для карт неэталонного дизайна от других производителей нужно всего лишь сделать то же самое, а именно предоставить железо для разработки и отладки и полную спецификацию использованного на ней ШИМ-контроллера. Именно это я первым делом и предлагаю сделать пользователям, приходящим в нашу поддержку с намёками на том, что якобы MSI требует ограничить поддержку для карт других производителей.
Как ни странно, но по сей день ни один владелец тех же ASUS«ов свою карту выслать для разработки почему-то не пожелал. Для владельцев карт других производителей мы также добавили в ПО режим стороннего управления напряжением и открыли ветку для разработчиков, где владельцы видеокарт других производителей своими силами могут добавить в ПО поддержку для карт. Но, увы, желающих самостоятельно добавить свою карту в базы ПО, не так уж много. В наполняемой пользователями базе карт сторонних производителей на данный момент всего пара десятков моделей неэталонных карт.
«МИР NVIDIA»: Планируется ли интеграция с бенчмарком с некой облачной базой данных результатов или все останется как есть с Kombustor?
Алексей: Kombustor — сторонняя разработка, ею занимаются авторы Furmark. Я не имею отношения к этому проекту, и комментировать его не могу.
«МИР NVIDIA»: Планируется ли в ПО поддерживать виртуальную реальность?
Алексей: Нет.
«МИР NVIDIA»: Почему нет возможности управлять базовой частотой GPU и частотой boost? В чём ограничения?
Алексей: Потому что такой возможности нет в драйвере NVIDIA.
«МИР NVIDIA»: Планируется ли вводить счётчик пропущенных кадров, как в FCAT?
Алексей: Не просто не планируется, это технически невозможно. FCAT — это программно-аппаратный комплекс, состоящий не только из программного оверлея, помечающего каждый кадр уникальной цветовой меткой, но и из аппаратной системы видеозахвата. Пропущенные кадры выявляются только на этапе анализа того, что мы получаем после аппаратного видеозахвата.
«МИР NVIDIA»: Будущие возможности ПО. Что нас ждет в краткосрочной и дальней перспективе (если такие планы есть и они не секрет).
Алексей: Без комментариев.
«МИР NVIDIA»: Будущее развитие видеокарт (твое личное мнение и понимание, куда движется индустрия).
Алексей: Дискретным видеокартам предсказывают скорую смерть уже не первых год, но хочется верить, что на мой век работы хватит :-).
«МИР NVIDIA»: Вернемся к разрабатываемому тобой ПО, Алексей. Сколько тратится на разработку программ (в день или месяц, как удобней). Какая из них любимица, а какая — идет со скрипом или разрабатывается ради «поддержки штанов»?
Алексей: Иногда несколько минут в день, иногда практически круглые сутки. Больше всего времени в плане разработки и регулярной поддержки кушает RTSS и решение вопросов совместимости оверлея с разными игровыми движками и 3D API.
«МИР NVIDIA»: Как набираются тестировщики в проект? Как в целом выглядит процесс создания версии — написал, разослал тестерам, получил от них багрепорты, поправил баги, повторно разослал версию или как?
Алексей: Тестеров обычно отбираю сам из наиболее толковых посетителей форумов, к которым я уже успел присмотреться и примерно понять их уровень знаний. Иногда сразу приглашаю и совсем незнакомых людей, приславших очень интересный и разумный отзыв, критику или багрепорт на почту. Но так, к сожалению, бывает очень редко.
Процесс создания новой версии состоит из нескольких фаз. Первоначально из фазы разработки, на которой ещё никто ничего не тестирует, и я работаю над самой первой тестовой реализацией нового функционала. Потом из фазы альфа-тестирования, когда новый функционал уже готов и начинает «дышать» в первом приближении, но всё ещё продолжает мною активно дорабатываться и развиваться. На этой фазе вместе с тестерами смотрим, что можно изменить, улучшить или даже переделать. На финальном этапе, когда заканчивается активная разработка, — бета-тестирование, нацеленное на стабилизацию нового функционала.
«МИР NVIDIA»: Есть ли в будущем планы по созданию собственной компании по разработке данного ПО со штатом разработчиков, тестировщиков, маркетологов и так далее? Нет ли желания стать Стивом Джобсом в области ПО для видеокарт?
Алексей: Нет такого желания. Нет желания превращать это из хобби в конвейер, есть желание контролировать весь процесс самому, на каждом этапе. Не хочется терять перфекционизм, хочется возиться со всеми мелочами, делая продукт скорее для себя, таким, каким его вижу я, а не рынок. Компания со штатом разработчиков — это всё-таки ориентир в первую очередь на коммерцию и продажи.
«МИР NVIDIA»: Спасибо большое, Алексей — и за интервью, и за твой, вот уже почти двадцатилетний, кропотливый труд в области разработки ПО, призванного облегчить жизнь пользователям видеокарт.
Удачи тебе во всех твоих начинаниях!