AMD: DirectX тормозит развитие игр на ПК
Ричард Хадди (Richard Huddy), управляющий компанией AMD по связям с разработчиками, обвиняет API DirectX компании Microsoft в сдерживании потенциала графических ускорителей на ПК. Современные видеокарты высокого класса имеют, по меньшей мере, 10-кратное превосходство в производительности над Xbox 360 или PS3, однако игры не выглядят в 10 раз лучше.
Конечно, часть проблемы состоит в том, что многие игры для ПК являются портированными консольными версиями, однако, по словам господина Хадди, в ситуации есть немалая доля вины DirectX, который является сдерживающим фактором. По его словам, если разработчикам был бы дан низкоуровневый доступ к аппаратной части ПК без необходимости обращения к ускорителю через API, оборудование можно было бы использовать по максимуму. Ричард Хадди отмечает, что самой распространённой просьбой разработчиков, которую он получает, является предоставление возможности работать без API.
«Я постоянно слышу это во время своих бесед с разработчиками игр, - отметил он, — и я полагаю, что самой большой привлекательностью Larrabee для разработчиков являлась вовсе не аппаратная часть, которая была горячей, медленной и невыразительной, а программная — иметь возможность полного контроля над системой — это то, чего хотят крупные разработчики. Давая низкоуровневый доступ к оборудованию, вы предоставляете разработчикам игр шанс вводить новшества, и это может создать давление на Microsoft — без сомнений».
Одним из примеров, который привёл господин Хадди, является поддержка DirectX технологии Instancing, с помощью которой, к примеру, несколько деревьев может быть прорисовано почти столь же просто, как и одно. Однако, по его словам, возможности консолей из-за отсутствия программных ограничений в этом отношении гораздо выше, чем ПК.
Конечно, возможности низкоуровневого доступа к оборудованию нужны далеко не всем разработчикам, но если создаётся проект вроде Crysis 3, то это может быть очень полезно. Однако если в случае с консолями разработчики имеют дело с фиксированным оборудованием, то на ПК ситуация сложнее и совсем без API обойтись практически невозможно.
Видение господина Хадди разделяет технический директор по исследованиям и разработке в Crytek Майкл Глюк (Michael Glueck): «Прямой доступ к оборудованию будет означать, что никакой драйвер не будет заниматься дополнительным транслированием вашего кода, а также вы будете иметь доступ к низкоуровневому управлению памятью, что в некоторой степени возможно с CUDA; наконец, вы сможете иметь собственный планировщик потоков, это в самом деле весьма интересно. Определённо имеет смысл иметь стандартизированный, независимый от производителя API, который является неким уровнем абстракции над оборудованием, но мы бы предпочли, чтобы этот API был бы действительно тонким и предоставлял бы более широкий низкоуровневый доступ к аппаратуре. Это не только увеличит производительность, но также даст возможность лучше использовать доступные функции оборудования».
DirectX также сталкивается с сопротивлением из-за распространения стандарта OpenCL, который позволяет использовать мощности GPU для увеличения общей производительности ПК. Широкое распространение OpenCL, который делает GPU более универсальным процессором, уменьшит необходимость в DirectX для использования мощностей графических ускорителей.
Нам предстоит увидеть, захочет ли Microsoft преобразовать DirectX в том направлении, которого хотят многие крупные разработчики игр. К преимуществам DirectX относятся стабильность, совместимость, простота программирования, что может быть утеряно при полном уходе от этого API.