Майкл Абраш | |
---|---|
Майкл Абраш в роли главного ученого Oculus VR на сцене Facebook F8 2015 | |
Родившийся | 1957 (63–64 года) |
Род занятий | Программист, технический писатель |
Работодатель | Oculus VR |
Заголовок | Главный научный сотрудник |
Майкл Абраш - руководитель программного обеспечения, программист и технический писатель, специализирующийся на оптимизации кода и языке ассемблера 80x86, репутация которой закреплена его книгой 1990 года Zen of Assembly Language Volume 1: Knowledge и ежемесячной колонкой в журнале доктора Добба в начале 1990-х годов. В более поздней книге Zen of Graphics Programming эти идеи были применены к 2D и 3D графике до появления аппаратных ускорителей для ПК. Хотя Абраш не является строго игровым программистом, большую часть своей карьеры Абраш работал над базовой технологией для игр, таких как Quake. С 2014 года он был главным научным сотрудником Oculus VR, дочерней компании Facebook, Inc.
Абраш впервые купил микрокомпьютер, когда учился в аспирантуре Пенсильванского университета. Прежде чем заняться написанием технических статей, Абраш был программистом игр на заре IBM PC. Его первая коммерческая игра была клоном Space Invaders, опубликованной Datamost в 1982 году под названием Space Strike. Он стал соавтором нескольких компьютерных игр с Дэном Илловски, который ранее написал успешный клон Pac-Man Snack Attack для Apple II. Абраш и Илловски работали вместе над Galaxian- подобным Cosmic Crusader (1982), игрой-лабиринтом Snack Attack II (1982) и платформером Big Top (1983).
После работы в Microsoft над графикой и сборочным кодом для Windows NT 3.1 он вернулся в индустрию видеоигр в середине 1990-х, чтобы работать над Quake для id Software. Некоторые технологии, лежащие в основе Quake, описаны в книге Абраша « Бродяги в реальном времени», опубликованной в журнале доктора Добба. Он упоминает Quake как свою любимую игру всех времен. После выхода Quake Абраш вернулся в Microsoft, чтобы заняться исследованием естественного языка, а затем перешел в команду Xbox до 2001 года.
В 2002 году Абраш перешел в RAD Game Tools, где он стал соавтором программного средства визуализации Pixomatic, которое имитирует функциональность графической карты уровня DirectX 7 и используется в качестве программного средства визуализации в таких играх, как Unreal Tournament 2004. В конце 2005 года Pixomatic была приобретена Intel. При разработке Pixomatic он и Майк Сартейн разработали новую архитектуру под названием Larrabee, которая теперь является частью проекта Intel GPGPU.
Гейб Ньюэлл, управляющий директор Valve, сказал, что он «пытался нанять Майкла Абраша навсегда. [...] Примерно раз в квартал мы ходим на обед, и я говорю:« Вы готовы здесь работать? »» В 2011 году. Абраш решил присоединиться к Valve.
28 марта 2014 года, через три дня после того, как Facebook объявил о соглашениях о покупке компании, компания Oculus VR, производящая гарнитуры виртуальной реальности, опубликовала заявление о том, что Майкл Абраш присоединился к их компании в качестве главного научного сотрудника.
Майкл Абраш в 1980-х годах был обозревателем журнала Programmer's Journal. Эти статьи были собраны в книге 1989 года Power Graphics Programming.
Его вторая книга, Zen of Assembly Language Volume 1: Knowledge (1990), была сосредоточена на написании эффективного ассемблерного кода для 16-разрядного процессора 8086, но была выпущена после того, как процессор 80486 был уже доступен. Помимо оптимизации на уровне сборки, в книге были рассмотрены части системы, незаметно влияющие на производительность кода, которые он назвал «пожирателями циклов». Ключевым моментом Zen of Assembly Language является то, что производительность всегда необходимо измерять, и в книгу включен инструмент «Zen Timer», позволяющий проверить, действительно ли сработала теоретическая оптимизация кода. Том 2 так и не был опубликован.
В начале и середине 1990-х Абраш вел колонку по программированию графики для ПК для журнала доктора Добба под названием «Бродяги в реальном времени». В 1991 году он представил Mode X, графический режим VGA 320x240 с квадратными пикселями вместо слегка вытянутых пикселей стандартного режима 320x200. В то же время он познакомил читателей с малоизвестной частью стандарта VGA, позволяющей записывать сразу несколько пикселей. Эта статья и ее продолжение вызвали интерес среди программистов компьютерных игр.
Большая часть содержания Zen of Assembly Language была обновлена в Zen of Code Optimization: The Ultimate Guide to Writing Software, которая доводит ПК до предела (1994), вместе с новым материалом. Презентация пошагового уточнения программы эмпирически продемонстрировала, как изменение дизайна алгоритма может повысить производительность до 100 раз. Перекодирование на языке ассемблера, с другой стороны, может улучшить производительность только в 10 раз. Абраш также показал, насколько неуловимая производительность улучшение может быть, а повышение производительности одной подпрограммы может выявить узкие места в других подпрограммах. Наконец, он продемонстрировал повышение производительности на основе сборки, зависящее от процессора, сравнив оптимизацию языка ассемблера для поколений x86, включая то, как некоторые микрооптимизации исчезли или даже замедлили работу программы.
В 1997 году была опубликована Черная книга Абраша по программированию графики. Это был сборник его статей в журнале доктора Добба и его работы над графической подсистемой Quake.
Абраш перестал писать публично в 2000-х, пока с апреля 2012 по январь 2014 не вел публичный блог в Valve «Бродяги во времена Valve».