Проблема в OpenGL в том , что он всё таки Open, а вот хардварные 3D архитектуры всё ещё Close. Многие 3Д фичи OpenGL либо запаздывают, либо так и не рождаются в железе. В общем OpenGL чуть дальше от железа, нежели DirectX в родной стихии и в этом плане их сравнивать нельзя. Майкрософт не допустит сближения OpenGL с железом на своей платформе. По поводу многопоточности. Подготовка данных для конвеера OpenGL легко распараллеливается как и любой другой код, но отадача конвейера железу без согласования с закрытыми дровами никак не решится без инициативы на уровне дров. А тут как известно эффективного распараллеливания ни NVidia ни ATI до сих пор не добились, и это при том, что распараллеливать нужно уже не только манипуляцию данными в драйвере, но и управление конвейрами, т.к. в системе может быть несколько GPU. Кстати, OpenGL изначально разрабатывался не только для работы на многопроцессорных машинах, но и с прицелом на работу с клиент-серверной архитектурой, чего нет у DirectX и в ближайшем будующем врят ли появится. OpenGL на порядок технологичней, но для завоевания признания ему мешает то же самое что и Unix/Linux - открытости железных спецификации, и возможно унификации этих спецификаций. M$, как известно, может себе позволить оказывать влияние на производителей оборудования. Даже Intel в звоё время прогнулась добавляя рад команд в архитектуру I386 для защиты винды от реверсинжинеринга...
|