После того как ресурс Phoronix провел серию тестов производительности открытого драйвера R600g, сравнив его с драйвером Catalyst, и обнаружил что поставляемая в Ubuntu 12.10 версия драйвера R600g существенно проигрывает проприетарному драйверу во многих играх, независимый разработчик Marek Olšák решил посмотреть на наиболее проблематичные места в данном графическом драйвере. В результате появился патч, состоящий едва ли из пары десятков строк, который увеличил FPS в 4 раза, как минимум в игре Reaction Quake 3. Патч форсирует хранение статичных ресурсов только в VRAM, вместо использования системной памяти (GTT/GART).
Также отмечается что Alex Deucher из компании AMD, работающий над открытым драйвером отметил основные направления над которыми желающие оптимизировать скорость работы могут наиболее эффективно поработать:
- Улучшение эвристики, определяющей способы размещения буферов, и улучшение загрузки и кэширования буферов;
- Улучшение компилятора шейдеров;
- Использование кэшированной и некэшированной памяти GART;
- Улучшение эвристики выбора между 1D/2D/linear тайлингом.
Дополнение 1: Патч был интегрирован в экспериментальную master-ветку Mesa.
Дополнение 2: Тестирование Mesa с указанным патчем показало, что не всё так гладко и в некоторых типах игр, таких как Xonotic, наблюдается замедление производительности. При этом в игровом тесте Unigine Heaven производительность упала в 8 раз, с 25 до 3 FPS.
|