Что сделать против производительности игры, заглядывают 12.04 при использовании (3D) единицы?

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

Мой ПК состоит из NVIDIA GeForce GT 460, Явление AMD ЦП II X4 965 и 4 ГБ RAM, и я использую nvidias собственный драйвер.

Я главным образом играю Героев Newerth при помощи их клиента Linux. Я делаю это начиная с человечности 9.10, и я никогда не испытывал проблем производительности при использовании собственного драйвера Nvidia. Мой кадр/с всегда был maxed к ограничению кадра vsync 60.

Так как я работаю, ubuntu 12.04 I обходят 30-45 кадр/с, и игровой опыт в целом является очень отстающим. Я знаю, что существует много людей, имеющих проблемы с драйвером nvidias 295.40, который печально установлен по умолчанию в человечности 12.04. Таким образом, я вручную установил последние стабильные 295.49, последнюю бету 302.07 и даже более старую версию 295.33, используемую в человечности 11.10 (где у меня никогда не было проблем с производительностью). Это была пустая трата времени, так как я испытывал те же проблемы производительности со всеми 4 версиями драйвера.

Когда я использую Единицу, 2D, мой кадр/с вернулся к 60, и полная производительность игры является большой. Таким образом, у меня только есть те проблемы когда рабочая версия человечности 12.04's Единицы.

Я также пытался удалить свой .config и .compiz-1 папки в корневом каталоге, но все еще производительность игры является путаницей при использовании единицы.

Я не знаю, что попробовать затем... Кто-либо знает, как я могу далее отладить проблему? Возможно, как я могу обеспечить больше данных для лучше анализа проблемы? Возможно, попытайтесь играть с некоторыми compiz настройками?

Эта регрессия производительности действительно печальна, и я думаю о просто загрузке Героев клиента окон Newerth и возвращения к двойной загрузке, так как это просто недопустимо.

Любая справка ценится.

9
задан 11 May 2012 в 18:47

4 ответа

Это не действительное решение, но по крайней мере это могло бы быть (надо надеяться), полезное обходное решение (кроме простого использования 2D Единицы).

перед запуском игры откройте Наутилус (файловый менеджер) и перейдите в /usr/share/application. Откройте терминал, тип metacity --replace, и нажмите Enter. Не делайте панический, интерфейс Unity исчезнет, но это - мое намерение. Запустите игру из файлового менеджера (средство запуска для игры должно быть в папке, которую я упомянул). После того, как Вы заканчиваете играть в свою игру, тип unity --replace в окне терминала, и нажимаете Enter. Ваш рабочий стол теперь восстанавливается тому, как это было.
Это должно работать, поскольку это - вероятно, Единица, работающая в фоновом режиме, это доставляет неприятности.

кроме того, я сообщил бы об этом как об ошибке. Это - определенно что-то, что должно быть зафиксировано. Если Вы отправляете отчет об ошибках, несомненно, оставят ссылку здесь так другие люди, которые испытывают эту проблему, может отметить его как "влияние на них", которые получат зафиксированный раньше.

3
ответ дан 22 October 2019 в 17:24

Вы могли всегда обновлять к 304.22 Бета драйверам Nvidia и видеть то, что происходит. У меня были огромные проблемы производительности с Ubuntu 12.04 LTS и версия Nvidia 295.59 & 302,07 версии, казалось, починили некоторые незначительные вещи. Большинство вопросов было решено путем обновления последних 304,22 драйверов. Теперь моя работа GeForce наконец равна Windows XP, но существуют все еще незначительные проблемы из нескольких приложений, но ситуация действительно значительно улучшена. Необходимо использовать последние драйверы Nvidia в любом случае, даже если они В БЕТА-ВЕРСИИ, потому что кажется, что более старые стабильные не тестируются командой Nvidia на более новом Ядре и Ubuntu, прокручивающей обновления, вызывающие неожиданную проблему и проблемы. Проблема состоит в том, что Nvidia нужны Открытому исходному коду их драйверы так, чтобы специалисты по обслуживанию Ubuntu и разработчики Linux могли сохранить все в синхронизации, но это - продолжающееся обсуждение, которое не решит в ближайшее время :-(

можно получить их http://www.geforce.com/drivers/beta-legacy

, Эти 304,22 драйвера имеют тонны крупного масштаба, фиксирует как:

  • Добавленная поддержка следующих GPU:
    • GeForce GTX 680M
      Quadro K1000M
      Quadro K2000M
  • Улучшенный функциональность опции IncludeImplicitMetaModes Xconfiguration:
  • Неявный MetaModes будет добавлен для устройства главного дисплея, даже если несколько дисплеев будут использоваться, когда X инициализируется.
  • Неявный MetaModes будет добавлен для общих разрешений, даже если не будет режима с тем разрешением в пуле режима дисплея.
  • Расширенный синтаксис параметра конфигурации IncludeImplicitMetaModes, например, для управления, какой дисплей
    используется для создания неявного MetaModes.
  • См. описание конфигурации IncludeImplicitMetaModes X
    опция в README для деталей.

  • Измененный обработка RandR 1.0/1.1 запрашивает RRGetScreenInfo и RRSetScreenConfig (например, 'xrandr-q - q1' и 'xrandr - размер...' и 'xrandr - ориентация... ') таким образом, что они воздействуют на MetaModes. Это было поведением в NVIDIA X версий драйвера 295.xx и ранее, но 302.xx выпуски изменили обработку этих, RandR 1.0/1.1 запрашивает управлять на единственном RandR режимами вывода.
  • С вышеупомянутыми изменениями в IncludeImplicitMetaModes и обработке RandR 1.0/1.1, полноэкранные приложения (например, основанные на SDL приложения, Вино), должен иметь больше разрешений в наличии для них и должен взаимодействовать лучше с несколькими конфигурациями монитора.
  • Исправил ошибку, которая могла вызвать G8x, G9x, и GPU GT2xx для отображения черного экрана или повреждения после пробуждения от приостанавливают.
  • Исправил несколько ошибок, которые могли заставить некоторые программы OpenGL зависать при вызове ветвления (3).
  • Исправил ошибку настроек Nvidia, которая заставила результаты запросов ProbeDisplays, сделанных с - опция строки дисплея быть отформатированными неправильно.
  • Улучшенный скорость отклика обновлений панели управления настроек Nvidia, когда дисплеи заменены в горячем режиме.
  • Исправил ошибку, которая вызвала повреждение дисплея при установке некоторых преобразований, особенно при панорамировании преобразованного дисплея.
  • Исправил ошибку, которая заставила дополнительные события RandR быть сгенерированными в первый раз, когда дисплей заменен в горячем режиме.
  • Исправил ошибку, которая заставила X11 modelines с'' на их имена быть отклоненным.
  • Добавленная поддержка устройств ответвления DisplayPort 1.2, которые позволяют нескольким дисплеям быть подключенными к единственному коннектору DisplayPort на графической плате.
  • Исправил ошибку, которая заставила большинство загрузок структуры OpenGL быть медленным, когда контекст был ограничен, представив к drawable наложению RGB.
  • Исправил ошибку, которая заставила аудио по HDMI не работать после перезапуска X-сервера на некотором MCP7x (IGP) GPU.
  • Обновленный X параметров конфигурации " UseDisplayDevice" соблюдать значение " none" на любом GPU.
  • Добавленная поддержка DKMS в установщике Nvidia. Установка модуля ядра через DKMS позволяет модулю быть восстановленным автоматически при изменении на другое ядро Linux. Посмотрите README и текст справки установщика Nvidia или " - dkms" опция.
  • Добавленные выходные свойства RandR _ConnectorLocation, ConnectorNumber, ConnectorType, EDID, _GUID, и SignalFormat. Посмотрите README для получения дополнительной информации об этих свойствах.
  • Расширенная поддержка Основной Мозаики ко всему G80 + конфигурации SLI максимум с тремя дисплеями.
  • Исправил ошибку, которая заставила некоторым мониторам не удаваться проснуться от режима приостановки DPMS, когда несколько мониторов DisplayPort были присоединены к одному GPU.
  • Удаленные средства управления для XVideo приписывает от " X-сервер XVideo Settings" страница панели управления настроек Nvidia. Атрибуты XVideo могут быть настроены в приложениях плеера XVideo, или через утилиты, такие как xvattr.
  • Исправил ошибку, которая заставила все порты на адаптере XVideo совместно использовать настройки коррекции цвета.
  • Удаленная поддержка следующего X параметров конфигурации:
    • SecondMonitorHorizSync
      SecondMonitorVertRefresh
    Подобное управление доступно через NVIDIA HorizSync и параметры конфигурации VertRefresh X. Посмотрите драйвер NVIDIA README для деталей.
  • Исправил ошибку, которая предотвратила NVIDIA 3D Видение Pro от работы правильно при переключении между X-серверами на другом VTs.
  • Добавленная поддержка настольного панорамирования, когда вращение, отражение или преобразование применяются к дисплею (или через RandR или через синтаксис MetaMode); панорамирование было бы ранее проигнорировано в этом случае.
  • 1
    ответ дан 22 October 2019 в 17:24

    При использовании 3D Единицы Вы имеете много 3D эффектов, и т.п. включил? (куб, настольные анимации, эффекты меню, и т.д.), Они могут уменьшить производительность, даже на хорошей машине.

    Это может стоить проверить Ваши настройки Nvidia, просто искать 'Nvidia' в тире, и Вы найдете его. Я знаю, что должен был настроить настройки Nvidia вполне немного, прежде чем я не получил задержки.

    Проверка Ваша в игровых настройках, меняйте их немного и посмотрите, сколько изменяет Ваш кадр/с.

    убедиться захватить последние обновления для Ubuntu, это может иногда решать проблемы, хотя в Вашем случае, я не ожидаю, что это помогло бы.

    0
    ответ дан 22 October 2019 в 17:24

    Править: X теперь блокируемо через xscreensaver

    привет! попробуйте это, у меня есть большие результаты с помощью него, главным образом для игр! Как он привычка управляться Единицей, у Вас могут быть большие результаты также!

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

    openNewX.sh

    #!/bin/bash
    
    function FUNCisX1running {
      ps -A -o command |grep -v "grep" |grep -q -x "X :1"
    }
    
    useJWM=true
    useKbd=true
    while [[ ${1:0:2} == "--" ]]; do
      if [[ "$1" == "--no-wm" ]]; then #opt SKIP WINDOW MANAGER (run pure X alone)
        useJWM=false
        shift
      elif [[ "$1" == "--no-kbd" ]]; then #opt SKIP Keyboard setup
        useKbd=false
        shift
      elif [[ "$1" == "--isRunning" ]]; then #opt check if new X :1 is already running
        if FUNCisX1running; then
          exit 0
        else
          exit 1
        fi
      elif [[ "$1" == "--help" ]]; then #opt show help info
        echo "usage: options runCommand"
    
        # this sed only cleans lines that have extended options with "--" prefixed
        sedCleanHelpLine='s"\(.*\"\)\(--.*\)\".*#opt" \2"' #helpskip
        grep "#opt" $0 |grep -v "#helpskip" |sed "$sedCleanHelpLine"
    
        exit 0
      else
        #echoc -p "invalid option $1"
        echo "PROBLEM: invalid option $1"
        $0 --help
        exit 1
      fi
    done
    #echo "going to execute: $@"
    #runCmd="$1" #this command must be simple, if need complex put on a script file and call it!
    runCmd="$@" #this command must be simple, if need complex put on a script file and call it!
    
    #if ! echoc -q -t 2 "use JWM window manager@Dy"; then
    #  useJWM=false
    #fi
    
    # run in a thread, prevents I from ctrl+c here what breaks THIS X instace and locks keyb
    if ! FUNCisX1running; then
      xterm -e "\
      echo \"INFO: hit CTRL+C to exit the other X session and close this window\";\
      echo \"INFO: running in a thread (child proccess) to prevent ctrl+c from freezing this X session and the machine!\";\
      echo \"INFO: hit ctrl+alt+f7 to get back to this X session (f7, f8 etc, may vary..)\";\
      echo ;\
      echo \"Going to execute on another X session: $runCmd\";\
      sudo X :1"&
    fi
    #sudo chvt 8 # this line to force go to X :1 terminal
    
    # wait for X to start
    while ! FUNCisX1running; do
      sleep 1
    done
    
    # run in a thread, prevents I from ctrl+c here what breaks THIS X instace and locks keyb
    if $useJWM; then
      if [[ ! -f "$HOME/.jwmrc" ]]; then
        echo '<?xml version="1.0"?><JWM><Key mask="4" key="L">exec:xscreensaver-command --lock</Key></JWM>' \
          >$HOME/.jwmrc
        #if ! jwm -p; then
        #  rm $HOME/.jwmrc
        #  echo ".jwmrc is invalid"
        #else
          echo "see http://joewing.net/programs/jwm/config.shtml#keys"
          echo "with Super+L you can lock the screen now"
        #fi
      fi
    
      jwm -display :1&
    fi
    
    kbdSetup="echo \"SKIP: kbd setup\""
    if $useKbd; then
      kbdSetup="setxkbmap -layout us"
    fi
    
    sleep 2
    
    xscreensaver -display :1&
    
    # setxkbmap is good for games that have console access!; bash is to keep console open!
    
    # nothing
    #xterm -display :1&
    
    # dead keys
    #xterm -display :1 -e "setxkbmap -layout us -variant intl; bash"&
    
    # good for games!
    xterm -display :1 -e "$kbdSetup; bash -c \"$runCmd\"; bash"&
    #xterm -display :1 -e "$kbdSetup; bash -c \"$@\"; bash"&
    

    также, добавьте это в: compiz конфигурируют менеджера по настройкам-> правила окна-> не closeable окна:

    (class=XTerm) & (title=sudo X :1) & (name=xterm)
    

    Это будет препятствовать тому, чтобы Вы закрылись, тот терминал (используйте ctrl+c для закрытия других X сеансов и также терминала), потому что, если Вы закрываете "окно", заморозит Ваш ток X сессий!

    Это имеет преимущество, что у Вас нет alt+enter полноэкранных проблем, также никакие полноэкранные проблемы Alt+TAB; можно выполнить с большей устойчивостью любую 3D игру от Городского Террора (собственный компонент Linux) к играм, выполненным с Вином! Даже некоторые браузеры, которые выполняют 3D игры как Firefox с Quake!

    Obs.: Вы можете хотеть установить jwm пакет, не требуемый, но будете иметь значение, если необходимо сделать какое-либо управление окнами там..

    PS.: это может быть улучшено, конечно, мой план состоит в том, чтобы добавить установку клавиатуры к опции, но я делаю это очень медленно ;), если кто-то улучшается/чистит его, отправляет, таким образом, я могу обновить мой сценарий :)

    1
    ответ дан 23 November 2019 в 05:10

    Другие вопросы по тегам:

    Похожие вопросы: