Повторное тестирование OpenGL драйверов AMD и NVIDIA
Лучше, но проблемы еще есть.
Автор недавнего тестирования соответствия драйверов AMD и NVIDIA спецификациям OpenGL после недельной плотной работы с обоими вендорами провёл второй забег. По итогам 31 теста, использующих OpenGl версий 3.3, 4.0 и 4.1, результат вышел следующим:
NVIDIA 260.93 | AMD 10.10c | |
Тестов не запустилось, нет поддержки функций | 0 | 0 |
Тестов не выполнилось, критические ошибки реализации функций | 5 | 4 |
Тестов выполнилось, ошибки при выполнении | 6 | 2 |
На этот раз очевидным победителем вышли драйверы AMD. Профессионалы в OpenGL могут оценить в подробностях объём работы по адаптации тестов, который пришлось провести для получения подобных результатов. Помимо проблем и ошибок в самой спецификации OpenGL, дополнительные трудности создаёт различный подход AMD и NVIDIA к реализации OpenGL: AMD чётко следует букве спецификации, даже если результат неработоспособен, NVIDIA реализует работу самого функционала того либо иного расширения, игнорируя прописанные в его спецификации ограничения и правила.
Чем раньше Khronos Group (куратор OpenGL, OpenCL и ряда других открытых стандартов) выкрутит руки вендорам, прекратив порочную практику проталкивания сырых и даже защищённых патентами функций (что прямо противоречит декларируемой открытости) в стандарт, и введёт сертификацию соответствия драйверов, тем лучше будет для самого OpenGL и его родственников как стандартов, и их реализациям, если, конечно, их сторонники хотят коммерческого успеха. Напомним, что один из крупнейших разработчиков профессиональных приложений графики и САПР Autodesk перешёл на использование Direct3D, а Adobe выбрала CUDA для Mercury Engine в том числе после горького опыта поддержки OpenGL в Photoshop, когда выяснилось, что драйверы некоторых вендоров, в особенности Intel, анонсируют поддержку функций, которые фактически не работают.