Wiz RAM Tweaks


sbock

Chaos is our mode and modus
Joined
Dec 22, 2005
Messages
3,778
Location
Germany
Notaz hat ein neues Tool vorgestellt, mit dem es möglich ist, CPU Takt, Display Timings und RAM Timings einzustellen.
Während CPU Takt und Display Timings schon bekannt sind, ist das Einstellen von RAM Parametern neu. Wie schon beim GP2x bekannt, wird hier die Leistungsfähigkeit des Speichers erhöht.
Dies führt zu höheren Frameraten bei Applikationen im Bereich von 3 - 10%.
Das Tool "pollux_set" ist im Grunde mit jedem Programm kombinierbar und kann die Tools "cpufreq" und "pollux_dpc_set" ersetzen.

Hier ein Beispiel mit der Quake 2 Engine. Es muß die Datei q2.gpe editiert werden. Das Programm "pollux_set" muß in den Ordner der Anwendung.
Code:
#!/bin/sh
./pollux_set 'lcd_timings=397,1,37,277,341,0,17,337;dpc_clkdiv0=9;cpuclk=750;ram_timings=2,9,4,1,1,1,1'
./sdlquake2 +set vid_ref softsdl +set s_khz 22
#for a timedemo run add +set timedemo 1 +map demo1.dm2cd 
/usr/gp2x/
./gp2xmenu

Die Werte hinter "lcd_timings" sind zum Veringern von Tearing und zum Vermeiden von Ruckeln bei Firmware 1.1.0.
Das Vermeiden von Tearing funktioniert nicht bei allen Programmen. Die Displayfrequenz wird hierbei auf 120 Hz gesetzt. Dies hat eine leichte Verringerung der Akkulaufzeit zur Folge. An den Werten sollte man nicht rumfummeln.
Der Wert hinter "cpuclk" ist die Einstellung des CPU Taktes. 200 - 800 MHz können die meisten Wiz. 533MHz ist Standard.
"Ram_timings" stellt die Parameter des RAM ein. Das Format ist CAS,tRC,tRAS,tWR,tMRD,tRP,tRCD. Die Standardwerte sind 2,9,5,3,2,3,3.
Zu aggressive Speichertimings lassen den Wiz abstürzen. Welche Speichertimings Euer Wiz verträgt ist wie der maximale CPU Takt unterschiedlich.
Wichtig ist, dass die Änderungen in dem Script mit einem Unix kompatiblen Editor durchgeführt werden.

Download: Archiv.
 
Hab nun für pocketsnes folgendes datei "snes.gpe" mit notepad++ erstellt und ins hauptverzeichnis von pocketsnes kopiert:
#!/bin/sh
./pollux_set 'lcd_timings=397,1,37,277,341,0,17,337;dpc_clkdiv0=9;cpuclk=750;ram_timings=2,9,4,1,1,1,1'
./pocketsnes_fast.gpe
#for a timedemo run add +set timedemo 1 +map demo1.dm2cd
/usr/gp2x/
./gp2xmenu

Wenn ich diese Datei nun starte, steht nur Loading da und der WIZ hängt sich auf.
Das selbe hab ich auch schon für paper plane probiert... was mach ich falsch

edit: habs hinbekommen.. das fettgedruckte im code hatte ich vergessen :D

Falls jemand Interesse an der Datei hat -> anhang
 

Attachments

  • snes.rar
    249 bytes · Views: 242
knotenpunkt said:
Hat das überhaupt Auswirkungen auf Emulatoren?
Das hat sicherlich Auswirkungen auf quasi jedes Programm. Der Zugriff auf den Arbeitsspeicher ist ja damit verbessert worden, also immer wenn man einen Cache Miss hat und etwas aus dem Arbeitsspeicher holt sollte das was bringen. Die Speicheranbindung ist schon sehr wichtig, wenn das bei dem Wiz ein Flaschenhals ist, dann können diese Timings sicherlich etwas an Performancezuwachs bringen.

Emus laufen ja schon schnell genug eigentlich, da ist es vll nicht so wichtig.

Ich hab mal Quake ausprobiert und als nächstes werde ich Quake2 testen. Bin von der Quake Performance aber schon begeistert, hatte das zuvor nur auf einem Siemens SX1 "gezockt", das war aber nicht besonders spannend :D

Wie schaltet man die FPS Anzeige ein?
 
Bei der Quake 2 Engine ist das +set cl_drawfps "1". Bei Quake bin ich geade überfragt, man kann aber mit dem Befehl "timedemo demo1" den internen Benchmark ausführen.

Man bekommt mit dem RAM Tweaks bei der Quake 2 Engine so durchschnittlich 0,5 fps mehr. Die Quake Engines sind aber nicht großartig speicherlimitiert. Der Software Renderer ist hier der Flaschenhals.

Emulatoren profitieren sehr von diesem Tweak: SNES Spiele haben so 5fps mehr, unter Temper sind es schon mal 10-20 (nicht dass Temper das nötig hätte).
 
Stärkere Zuwächse sollten noch bei NeoGeo und anderen Systemen mit recht großen Roms vorkommen. So war es jedenfalls auch auf dem GP2X. Am meisten dürfte die Veringerung der Column Address Strobe Latenz bringen, allerdings konnte man hier z.B. beim meinem GP2X nichts verändern, da er direkt abgeschmiert ist.
 
Back
Top