19.03.2024, 08:32 UhrDeutsch | English
Hallo Gast [ Registrierung | Anmelden ]

Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
Autor Nachricht
Esel
Titel: Unreal Tournament 2003 Startscript...  BeitragVerfasst am: 05.06.2006, 22:05 Uhr



Anmeldung: 30. Mai 2004
Beiträge: 91

Hi,

ich habe heute UT2003 auf meinem Laptop installiert. War eigentlich kein Problem. Beim Start musste ich allerdings feststellen, daß das Spiel viel zu schnell läuft. Nach gründlicher Recherche im Net stellte sich also raus, daß dieses Verhalten mit den unterschiedlichen Taktraten des Laptops zusammenhängt.
Zitat:
...the problem is the laptop uses speedstep technology (basically steps down your processor usually to conserve battery) ... i just got a 600m and i was freaking out -- same thing was happening to me...

Beim Start des Spiels, wird einmalig die aktuelle CPU-Taktrate ermittelt und dann als Standard gesetzt. Wenn beim weiteren Laden des Spiels dann die Last steigt führt das zum Effekt, das das Spiel wie auf Steroiden rennt.

Das folgende Skript wurde empfohlen um das Problem zu lösen. Allerdings scheint es nicht zu funktionieren. Ich habe einfach keine Ahnung von Skripten vermute allerdings, das es irgendwie mit den Pfaden und Startdateien zusammenhängen muss.

Code:
#!/bin/sh
#
# Unreal Tournament startup script
#

# Modifications by Eskild Hustvedt

# The user preferences directory
UT_PREFS="${HOME}/.loki/ut"

# Function to find the real directory a program resides in.
# Feb. 17, 2000 - Sam Lantinga, Loki Entertainment Software
FindPath()
{
    fullpath="`echo $1 | grep /`"
    if [ "$fullpath" = "" ]; then
        oIFS="$IFS"
        IFS=:
        for path in $PATH
        do if [ -x "$path/$1" ]; then
               if [ "$path" = "" ]; then
                   path="."
               fi
               fullpath="$path/$1"
               break
           fi
        done
        IFS="$oIFS"
    fi
    if [ "$fullpath" = "" ]; then
        fullpath="$1"
    fi
    # Is the awk/ls magic portable?
    if [ -L "$fullpath" ]; then
        fullpath="`ls -l "$fullpath" | awk '{print $11}'`"
    fi
    dirname $fullpath
}

# Set the home if not already set.
if [ "${UT_DATA_PATH}" = "" ]; then
    UT_DATA_PATH="`FindPath $0`/System"
fi

LD_LIBRARY_PATH=.:${UT_DATA_PATH}:${LD_LIBRARY_PATH}

export LD_LIBRARY_PATH
export UT_DATA_PATH

create_prefpath()
{
    path="${UT_PREFS}/$1"
    if [ ! -d "$path" ]; then
        echo "Creating directory $path"
        mkdir "$path"
    fi
}

copy_if_needed()
{
    dist="${UT_DATA_PATH}/$1"
    file="${UT_PREFS}/$1"
    if [ ! -f "$file" ]; then
        echo "Installing default $file"
        cp "$dist" "$file"
    fi
}

# Hey, it's fun time!
if [ ! -d ${HOME}/.loki ]
then
    mkdir ${HOME}/.loki
fi

if [ ! -d ${UT_PREFS} ]
then
    echo "Creating preferences directory..."
    create_prefpath
fi
create_prefpath System

# Flood the CPU for four seconds so that it is running at the currect speed
RandomFork () {
   while [ "$SECONDS" -le "4" ]; do
      let MYRND="$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*
$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+
$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM
*$RANDOM$RANDOM+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM
+$RANDOM*$RANDOM/$RANDOM*$RANDOM*$RANDOM$RANDOM+$RANDOM*$RANDOM
/$RANDOM*$RANDOM"
   done
}
RandomFork &

# Let's boogie!
if [ -x "${UT_DATA_PATH}/ut-bin" ]
then
   echo -n "Sleeping for 1 second... ";sleep 1s;echo "done - launching UT"
   cd "${UT_DATA_PATH}/"
   exec "./ut-bin" -log $*
fi
echo "Couldn't run Unreal Tournament (ut-bin). Is UT_DATA_PATH set?"
exit 1


(Im Bereich der Random-Operationen habe ich hier im Forum Zeilenumbrüche eingefügt, damit der Code noch lesbar bleibt.)

Das Spiel habe ich unter /usr/games/ut2003 installiert. Der Start des Spiels erfolgt mittels /usr/games/ut2003/ut2003. Wie müsste das Skript modifiziert werden, damit es funktioniert?

Vielen Dank für Hilfe und Anregungen.
Esel.
Zitat:
Zitat:
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
ockham23
Titel:   BeitragVerfasst am: 05.06.2006, 23:50 Uhr



Anmeldung: 25. Mar 2005
Beiträge: 2133

Wäre es denn nicht auch möglich, speedstep (Intel-CPU?) manuell zu deaktivieren, wenn du zocken willst? Bei der Live-CD z.B. gibt es den Cheatcode "nopowernow", um den powernow-demon gar nicht erst starten zu lassen. Die Deaktivierung kommt natürlich nur dann in Betracht, wenn das Notebook nicht zu heiß wird.

_________________
And I ain't got no worries 'cause I ain't in no hurry at all (Doobie Brothers, "Black Water").
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
schnorrer
Titel:   BeitragVerfasst am: 06.06.2006, 08:12 Uhr



Anmeldung: 09. Jan 2006
Beiträge: 1720

Geht leider nicht das powernow(speedstep) modul abzuschalten. Dafür brauchts einen angepassten Kernel, ohne Powernow und ohne Speedstep.

Sonst mault ACPI mit den Stromsparmodi. Den einzigen Kniff für dieses Verhalten, den ich kenne, ist in der powernow.conf die Werte für das Throttleling für Volllast zu verändern.

Bei UT müßte es ebenso ein script oder eine conf geben, bei der man die Speed der CPU einstellen kann.
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
slh
Titel:   BeitragVerfasst am: 06.06.2006, 08:39 Uhr



Anmeldung: 16. Aug 2004
Beiträge: 1905

Falsch, es genügt das jeweilige speedstep Modul aus der /etc/modules zu entfernen und update-rc.d -f powernowd remove - nur ob es das bei einem Notebook nur wegen eines fehlerhaft programmierten Spieles wert ist, sei dahingestellt.
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Esel
Titel:   BeitragVerfasst am: 06.06.2006, 11:45 Uhr



Anmeldung: 30. Mai 2004
Beiträge: 91

O.k.,

erstmal vielen Dank für die Erläuterungen soweit. Wenn ich die Zielrichtung des Scriptes richtig verstehe geht es doch darum mittels der "Random-Anweisungen" Vollast zu erzeugen und das Spiel UT2003 dann direkt dazu im Anschluß daran zu starten.

Ich kann mit den Anweisungen zu den Pfaden nichts anfangen und auch mit dem Startbefehl. Kann man das nicht über eine Anpassung zum laufen bringen? Wie müsste diese Anpassung aussehen?

Gruß, Esel.
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Beiträge vom vorherigen Thema anzeigen:     
Gehe zu:  
Alle Zeiten sind GMT + 1 Stunde
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
PNphpBB2 © 2003-2007 
 
Deutsch | English
Logos and trademarks are the property of their respective owners, comments are property of their posters, the rest is © 2004 - 2006 by Jörg Schirottke (Kano).
Consult Impressum and Legal Terms for details. Kanotix is Free Software released under the GNU/GPL license.
This CMS is powered by PostNuke, all themes used at this site are released under the GNU/GPL license. designed and hosted by w3you. Our web server is running on Kanotix64-2006.