PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Games aus der Shell starten (Performance Gewinn)



hunter
02.11.02, 09:57
1. Einleitung

Ein Desktop oder Window Manager (WM) benötigt Resourcen. Das bedeutet hautsächlich das Prozesse laufen die von der CPU bearbeitet werden und das der RAM mit Daten gefüllt wird. Ein Spiel wie Quake 3, Unreal Tournament 2003 oder Warcraft 3 läuft aber völlig losgelöst vom WM oder Desktop. Das bedeutet also das Resourcen für Sachen benutzt werden, die für das Spiel nicht gebraucht werden und es bremsen. -> Verschwendung von Resourcen

Jetzt gibts zwei Faustregeln:

1. Je schwächer das System ist, desto störender wirkt sich ein WM oder Desktop auf die Spielleistung aus. Ein schneller Rechner mit 2 Ghz CPU und 512 MB RAM wird sicherlich besser mit dem Game + WM klar kommen als ein 1 Ghz Rechner mit 128 MB speicher.

2. Egal welcher WM benutzt wird, und sei er auch noch so sparsam mit den Resourcen, er benutzt welche ohne für das Spiel gebraucht zu werden.

Wenn ihr also einen Resourcen Verschlinger wie KDE beendet um einen Resourcen schonenden WM wie Blackbox zu starten, dann könnt ihr genauso auch ganz auf den WM verzichten und nur das Spiel alleine laufen lassen.


2. Manueller Gamestart aus der Shell

- Beendet den WM oder Desktop (Logout)
- Wechselt mit Strg + Alt + F1 in die Shell
- Meldet euch als User an
- Gebt ein: su -c 'init 3'
- Auf Anfrage euer Rootpasswort eingeben

Jetzt könnt ihr das Game mit folgendem Befehl starten: xinit /usr/bin/xyz

Wichtig ist das der Pfad zur Startdatei hinter dem xinit angegeben wird, also nicht nur der Startbefehl selbst. Das kann auch mal in /usr/local/bin/ liegen. So z.B.: xinit /usr/local/bin/quake3

Dabei ist es egal ob das eine Startdatei eines offiziellen Games ist oder ein eigenes Script. Daher hier ein kleines Beispiel:

/usr/bin/GameX

#!/bin/sh
cd /usr/local/games/xyz
wine xyz.exe

Ein xinit /usr/bin/GameX wird das Game mit Wine starten und auch das auf einem eigenen X Server ohne WM laufen lassen.

Wenn ihr fertig gespielt habt, beendet das Game. Ihr landet dann wieder in der Shell. Um X wieder zu starten, müsst ihr nur wieder in Runlevel 5 wechseln:

- Eingeben: su -c 'init 5'


3. Gamestart per einer TUI

Es gibt ein gutes TUI (Text User Interface) dazu, das in Perl geschrieben wurde: xgame. Ihr benötigt also Perl, was in der Regel schon installiert ist oder einfach nachinstalliert werden kann.

http://freshmeat.net/projects/xgame

Installation:

- Ladet euch einfach das .tar.gz runter.
- Entpackt es: tar vxfz Xgame.tar.gz
- Root werden: su -> Rootpasswort
- Kopiert die Datei xgame nach /usr/bin/ : cp xgame /usr/bin/
- Macht sie sicherheitshalber noch mal ausführbar: chmod +x /usr/bin/xgame
- Wieder User werden: exit

Konfiguration:

- Startet das ganze nun einmal in einer X Konsole: xgame
- Mit A könnt ihr ein Spiel hinzufügen
- Gebt einfach Name und Startdatei an; z.B. UT2003 und ut2003
- Jetzt könnt ihr die Liste einfach mit allen euren Games ausfüllen und Einträge bei Bedarf auch löschen oder editieren

Benutzung:

- Beendet den WM oder Desktop (Logout)
- Wechselt mit Strg + Alt + F1 in die Shell
- Meldet euch als User an
- Gebt ein: su -c 'init 3'
- Auf Anfrage euer Rootpasswort eingeben

- Startet nun XGame: xgame
- Wählt die Nummer für das Spiel aus das ihr spielen wollt

- Nach dem Game kommt ihr in die Shell (xgame wird automatisch beendet)
- Zum neustarten von X : su -c 'init 5'


4. Schlussbemerkung

Erwartet nicht unbedingt Wunder von der ganzen Sache. Ob es was bringt hängt von vielen verschiedenen Faktoren ab: normalerweise benutzer WM, CPU, Speicher, Wine oder Linuxgame etc. Das beste ist wenn ihr das einfach mal ausprobiert und dann entscheidet ob es sich für euch lohnt oder nicht.