Je constate une baisse considérable des performances de jeu depuis ma nouvelle installation d'ubuntu 12.04
Mon PC est constitué d’un processeur Nvidia Geforce GTX 460, d’un processeur AMD Phenom II X4 965 et de 4 Go de RAM et j’utilise un pilote propriétaire nvidias.
Je joue principalement à Heroes of Newerth en utilisant leur client Linux. Je le fais depuis Ubuntu 9.10 et je n’avais jamais rencontré de problèmes de performances lors de l’utilisation du pilote propriétaire nvidia. Mes fps étaient toujours au maximum du plafond de cadre vsync de 60.
Depuis que je lance Ubuntu 12.04, le temps de jeu est de 30 à 45 i/s et mon expérience de jeu est généralement très lente. Je sais que beaucoup de gens ont des problèmes avec le pilote nvidias 295.40, qui est malheureusement installé par défaut dans Ubuntu 12.04. J'ai donc installé manuellement la dernière version stable 295.49, la dernière version bêta 302.07 et même l'ancienne version 295.33 utilisée dans Ubuntu 11.10 (où je n'ai jamais eu de problèmes de performances). Ce fut une perte de temps puisque je rencontrais les mêmes problèmes de performances avec les 4 versions de pilotes.
Lorsque j'utilise Unity 2D, mon fps est revenu à 60 et les performances de jeu sont excellentes. Je n'ai donc que ces problèmes lors de l'exécution de la version d'Unity d'ubuntu 12.04.
J'ai également essayé de supprimer mes dossiers .config et .compiz-1 dans le répertoire personnel, mais les performances des jeux sont toujours désastreuses lorsque vous utilisez l'unité.
Je ne sais pas quoi essayer ensuite ... Est-ce que quelqu'un sait comment je peux résoudre le problème plus avant? Peut-être comment puis-je fournir plus de données pour mieux analyser le problème? Peut-être essayer de jouer avec certains paramètres de compiz?
Cette régression des performances est vraiment frustrante et je songe simplement à télécharger le client Windows de Heroes of Newerth et à revenir au double démarrage car cela est tout simplement inacceptable.
Toute aide appréciée.
Ce n'est pas une vraie solution, mais au moins, il pourrait s'agir d'une solution de contournement (espérons-le) utile (hormis l'utilisation simplement de Unity 2D).
Avant de commencer une partie, ouvrez Nautilus (le gestionnaire de fichiers) et accédez à /usr/share/application
. Ouvrez un terminal, tapez metacity --replace
et appuyez sur entrée. Ne paniquez pas, l'interface Unity va disparaître, mais telle est mon intention. Lancez le jeu à partir du gestionnaire de fichiers (le programme de lancement du jeu devrait se trouver dans le dossier que j'ai mentionné). Une fois que vous avez fini de jouer, tapez unity --replace
dans la fenêtre du terminal, puis appuyez sur entrée. Votre bureau est maintenant restauré à son état actuel.
Cela devrait fonctionner, car c'est probablement Unity qui tourne en arrière-plan qui pose problème.
Aussi, je signalerais cela comme un bug. C'est définitivement quelque chose qui doit être corrigé. Si vous soumettez un rapport de bogue, veillez à laisser un lien ici pour que les autres personnes rencontrant ce problème puissent le marquer comme "les affectant", ce qui permettra de le résoudre plus tôt.
Vous pouvez toujours mettre à jour les pilotes 304.22 Nvidia Beta et voir ce qui se passe. J'avais de gros problèmes de performances avec Ubuntu 12.04 LTS et la version 295.59 de Nvidia. La version 302.07 semblait résoudre certains problèmes mineurs. La plupart des problèmes ont été résolus en mettant à jour le dernier pilote 304.22. Maintenant, mes performances GeForce sont finalement égales à celles de Windows XP, mais quelques problèmes mineurs de quelques applications subsistent, mais la situation s’est considérablement améliorée. Vous devez utiliser les derniers pilotes Nvidia à tout moment, même s'ils sont au format BETA, car il semble que les anciens pilotes stables ne sont pas testés par l'équipe de Nvidia sur les nouvelles mises à jour roulantes du noyau et d'Ubuntu, ce qui provoque des problèmes inattendus. Le problème est que Nvidia doit ouvrir ses pilotes Open Source pour que les responsables Ubuntu et les développeurs Linux puissent tout synchroniser, mais c'est une discussion en cours qui ne sera pas résolue de si tôt :
Vous pouvez les obtenir --- (http://www.geforce.com/drivers/beta-legacy
Les pilotes 304.22 ont des tonnes de corrections à grande échelle comme:
Voir la description de la configuration IncludeImplicitMetaModes X
Option dans le README pour plus de détails.
EDIT: X est maintenant verrouillable via xscreensaver
salut! essayez ceci, j'obtiens d'excellents résultats en l'utilisant, surtout pour les jeux! Comme il ne sera pas géré par Unity, vous obtiendrez peut-être d'excellents résultats!
J'ai créé ce script qui crée une nouvelle session X et exécute une commande ou ouvre un terminal afin que vous puissiez l'exécuter ici.
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"&
ajoutez aussi ceci à: compiz config settings gestionnaire -> règles de la fenêtre -> fenêtres non fermables:
(class=XTerm) & (title=Sudo X :1) & (name=xterm)
Cela vous empêchera de fermer ce terminal (utilisez ctrl + c pour fermer l'autre session X ainsi que le terminal), car si vous fermez "la fenêtre", votre session X sera gelée!
Il a l'avantage que vous n'avez pas alt + entrer les problèmes plein écran, pas plus de problèmes de plein écran Alt + TAB; vous pouvez exécuter avec plus de stabilité n'importe quel jeu en 3D, de Urban Terror (natif de Linux) aux jeux fonctionnant avec Wine! Même certains navigateurs utilisant des jeux 3D comme Firefox avec Quake!
Obs .: vous voudrez peut-être installer le paquet jwm, ce qui n’est pas nécessaire mais qui fera la différence si vous devez gérer n’importe quelle fenêtre ici.
PS: cela peut être amélioré bien sûr, mon plan est d’ajouter la configuration du clavier à une option, mais je le fais très lentement;), si quelqu'un l’améliore/le nettoie, postez-le afin que je puisse mettre à jour le script mien :)
Lorsque vous utilisez Unity 3D, avez-vous activé de nombreux effets 3D et autres? (cube, animations de bureau, effets de menu, etc.) Cela peut réduire les performances, même sur une bonne machine.
Il peut être intéressant de vérifier vos paramètres nvidia, il suffit de rechercher "nvidia" dans le tableau de bord et vous le trouverez. Je sais que je devais modifier un peu les paramètres de nvidia avant que je ne reçois aucun décalage.
Vérifiez vos paramètres de jeu, modifiez-les un peu et voyez à quel point votre image par seconde change.
Assurez-vous de récupérer les dernières mises à jour pour Ubuntu, cela peut parfois résoudre des problèmes, bien que dans votre cas, je ne pense pas que cela aiderait.