OpenGL низкие показатели на моем компьютере

0

Мы начали изучать OpenGL в школе и, в частности, реализовали загрузчик .obj mesh. Когда я запускаю свой код в школе с довольно тяжелыми сетками (4M до 17M лиц), я должен подождать несколько секунд, чтобы сетка была загружена, но как только это будет сделано, я могу повернуть и перемещать сцену с идеальной текучестью.

Я скомпилировал тот же код дома, и у меня очень низкие показатели при движении в сцене, где отображаются тяжелые сетки.

Я использую версию OpenGL версии 3.0 Mesa 10.1.3 (это вывод cout << glGetString(GL_version) << endl) и компиляция с g++-4.9. Я не помню номера версии моей школы, но я обновлю свое сообщение как можно скорее, если потребуется. Наконец, я на Ubuntu 14.04, моя графическая карта - Nvidia Geforce 605, мой процессор - процессор Intel R5 Core i5-2320 с частотой 3,00 ГГц, и у меня 8Go RAM.

Если у вас есть идея помочь мне понять (и исправить), почему он работает так медленно на довольно хорошем компьютере (конечно, не скаковая лошадь, но достаточно хороша для этого), пожалуйста, скажите мне. Заранее спасибо !

Теги:
performance
opengl

1 ответ

2
Лучший ответ

TL; DR: Вы используете неправильный драйвер. Установите фирменные двоичные драйверы с закрытыми исходными кодами из NVidia, и вы получите очень хорошую производительность. Также с GeForce 605 вы должны получить поддержку OpenGL-4.x.


Я использую версию 3.0 Mesa 10.1.3 OpenGL (...), моя графическая карта - Nvidia Geforce 605

Это ваша проблема прямо там. Драйверы с открытым исходным кодом "Noveau" для графических процессоров NVidia, входящие в состав Mesa, очень далеки от предоставления какой-либо разумной поддержки ускорения HW. Это связано с тем, что NVidia не публикует открытую документацию по их низкоуровневому программированию на графическом процессоре.

Таким образом, на данный момент единственным вариантом для ускорения OpenGL с HW на вашем графическом процессоре является установка собственных драйверов NVidia. Они доступны на веб-сайте NVidia; однако, так как ваш графический процессор не является "краем кровотечения" прямо сейчас, я рекомендую вам использовать их, устанавливаемые через диспетчер пакетов; вам придется добавить "несвободный" репозиторий исходных пакетов.

Это резко контрастирует с графическими процессорами AMD, которые имеют полное покрытие документации, открыто доступны. Из-за этого драйверы Mesa "radeon" довольно зрелые; полная поддержка ядра OpenGL-3.3, производительность которой достаточно высока для большинства приложений, в некоторых приложениях даже превосходит собственные запатентованные драйверы AMD. Поддержка OpenGL-4 - это незавершенная работа для Mesa в целом, и в последний раз, когда я проверял, что драйверы "radeon" на самом деле продвигались быстрее, чем сам трекер Mesa OpenGL.

  • 0
    Я довольно новичок в Linux и не получил это замечание: I recommend you use those installable through the package manager; you'll have to add a "nonfree" package source repository though . Кроме того, я только что установил Linux, поэтому ваш ответ, скорее всего, будет точным, поскольку я до сих пор не думал об установке «драйвера Linux» для моего графического процессора.
  • 0
    @Dici: Ну, по правде говоря, графические процессоры NVidia в наши дни являются единственным оборудованием, где вам нужно вручную установить какой-нибудь драйвер стороннего производителя, чтобы он работал правильно. Все остальные аппаратные средства поддерживаются "из коробки", и вам не нужно об этом заботиться (есть области с серьезными трещинами, но в основном их видят только разработчики). В любом случае вы хотите прочитать это: help.ubuntu.com/community/BinaryDriverHowto/Nvidia
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню