В последние годы я разработал несколько небольших игр и приложений для OpenLG 2 и ES.Сейчас я пытаюсь построить граф сцены на основе opengl 3+ для случайной «трехмерной» графики в настольных системах.(Ничего сложного, в отличие от нереального или крипто-движка).
Я начал свою разработку с OsX 10.7 и был впечатлен недавним выпуском Apples ogl 3.2, который дает эквивалентные результаты по сравнению с системами Windows.
В противном случае результаты для Linux разочаровывают.Даже самая простая анимация заикается и разрушает впечатление реальности.Результаты не отличались между инструментариями Windows FreeGlut и GLFW.(Расширения загружаются с glew 1.7)
Я хотел бы отметить, что я говорю о новом ядре opengl, а не о старом opengl 2 render-path, который отлично работает в Linux, но использует вместо этого процессорграфического процессора для сложных операций.
После просмотра профессиональных демонстраций, таких как «Демо Unigine heaven», я думаю, что существует общая проблема использования современной трехмерной графики в реальном времени с Linux.
Любые предложения по решению этой проблемы приветствуются.
ОБНОВЛЕНИЕ :
Я использую: AMD Phenom II X6, Radeon HD57XX с последней версиейпроприетарные драйверы (11.8) и Unity (64Bit).
Вы можете взять мой renderloop из документации инструментария:
do {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
...
} while (!glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam(GLFW_OPENED));
Я использую VBOs , и все этапы преобразования выполняются с помощью шейдеров.Время анимации выполняется с помощью glfwGetTime () .Эта проблема возникает в оконном и полноэкранном режиме.Я не знаю, мешает ли менеджер композиций полноэкранным приложениям.Но также невозможно потребовать от пользователя отключить его.
Обновление 2 :
Опечатка : я использую карту HD57XX.
GLX_Extension: http://snipt.org/xnKg
Дамп PCI: 01:00.0 VGA compatible controller: ATI Technologies Inc Juniper [Radeon HD 5700 Series]
X Информация: http://pastie.org/2507935
Обновление 3:
Отключение диспетчера композиции уменьшает, но не полностью удаляет заикание.(Я заменил стандартный оконный менеджер на «ubuntu classic без расширений»). Раз в секунду анимация останавливается и появляются ужасные искажения:
(Изображение удалено - не разрешено публиковать изображения.)
ХотяВертикальная синхронизация включена в драйвере и проверена в приложении.