PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geschwindigkeit von optimierten Mame Versionen


hyperterminal
2006-08-05, 22:57:17
Hallo!

Ich habe mir heute einmal den Source Code der aktuellen Mame Version (0.107) vorgenommen und zwei verschiedene Mame Builds kompiliert. Als ich die beiden dann gegeneinander gebencht habe, musste ich feststellen, dass die speziell Athlon64 optimierte Version lediglich 0,5-5% schneller als die nichtoptimierte Version ist. Grosse Wunder habe ich nicht erwartet aber das Ergebnis ist ja nun echt ein Witz. Da kann man also getrost drauf verzichten und sich die fertigkompilierte Standardversion ziehen.

EDIT: detaillierte Testergebnisse:
// tgm2p //

mame64
Average FPS: 189 +0,5%

mame
Average FPS: 188


// sfa3 //

mame64
Average FPS: 325 +4%

mame
Average FPS: 312


// salmndr2 //

mame64
Average FPS: 195 +5%

mame
Average FPS: 186


// tekken3 //

mame64
Average FPS: 40 +3%

mame
Average FPS: 39

ShadowXX
2006-08-08, 13:33:17
Hallo!

Ich habe mir heute einmal den Source Code der aktuellen Mame Version (0.107) vorgenommen und zwei verschiedene Mame Builds kompiliert. Als ich die beiden dann gegeneinander gebencht habe, musste ich feststellen, dass die speziell Athlon64 optimierte Version lediglich 0,5-5% schneller als die nichtoptimierte Version ist. Grosse Wunder habe ich nicht erwartet aber das Ergebnis ist ja nun echt ein Witz. Da kann man also getrost drauf verzichten und sich die fertigkompilierte Standardversion ziehen.
[/code]
Das das Standardcompilat AFAIK nur mir 686er (=PII/III Generation) Flags compiliert wird war auch nichts anderes zu erwarten....das ist dann schon fast optimaler A64-Code.

Bei speziell für den P4 kompilierten Versionen könnte der Unterschied zum Standardcompilat größer sein (wenn es dann auf einem P4 gestartet wird).

HeldImZelt
2006-08-14, 16:17:04
Es gibt eine Seite, die sich solcher Versionen annimmt. Die könntest Du ja mal vergleichen. Vielleicht haben die noch andere Optimierungen verwendet.

http://redump.emubase.de/mame.php

Fusion_Power
2006-08-14, 16:27:30
Ich hab nur einen alten Athlon XP aber ich muss trotzdem sagen, das MAME noch nie besonders sorgfältig auf Geschwindigkeit optimiert wurde verglichen mit anderen Emulatoren...oder besser gesagt gar nicht. Fast alles, was irgend wie 3D ist ruckelt wie die sau. "Radiant Silvergun" zum Beispiel Lustigerweise auch auf dem Athlon 64 X2 4400 von meinem Kumpel genau wie auf meiner Mühle. XD
Da muss doch theoretisch mehr rauszuholen sein oder?

HeldImZelt
2006-08-14, 16:41:54
Das ist (war?) noch nicht 3D beschleunigt, also alles musste die CPU machen.

Mit der 107 wurde das Grafiksystem grundlegend geändert. Keine Ahnung, ob jetzt auch 3D Beschleunigung eingeführt wird.

RoKo
2006-08-14, 23:50:01
Das ist (war?) noch nicht 3D beschleunigt, also alles musste die CPU machen.

Mit der 107 wurde das Grafiksystem grundlegend geändert. Keine Ahnung, ob jetzt auch 3D Beschleunigung eingeführt wird.
Das neue Grafiksystem nutzt zwar Direct3D, trotzdem gibt es keine 3D-Beschleunigung für 3D-Spiele - die ist auch nicht gewollt, offiziell ist MAME ja nicht zum spielen da, sondern soll die Automatenhardware dokumentieren, deswegen wird auf Geschwindigkeit keinen großen Wert gelegt, wohl aber auf eine möglichst pixelgenaue Emulation, die mit 3D-Beschleunigung leider nicht möglich ist.

Fusion_Power
2006-08-16, 22:32:56
Hab MAME 0.104. Ich teste jedes Spiel eh nur an. Die Games, welche ich länger als 5min gespielt habe kann ich an einer Hand abzählen. Aber flüssig 3D zu zocken währe schon fein.
Ich glaub aber auch nicht, das die je nen merklichen Speed-Boost fabrizieren, weil wie erwähnt ehr die exakte Emulation im Vordergrund steht. Obwohl ich als Laie nicht so ganz verstehen kann, warum da D3D keine Hilfe sein kann.

Gibts andere MAME Versionen welche den Games ein bissl mehr Dampf machen? Kennt sich da wer aus?

Gasthaus
2006-08-18, 02:07:09
Mir ist da leider auch nichts bekannt.

Na immerhin lassen sich einige 3D-System11(PS1)HW-Games auf nem A64@2,4 mit 60fps zocken wie Tekken1/2,RayStorm,G-Darius u.a.

Doch ab RidgeRacer ist dann völlig Schluss.
Zu RadiantSilvergun...seit dem 105er*glaub*wurden die ST-V(Saturn)HW-Games sehr stark verbessert.2D zB.Cotton gehen oft mit 60fps auf meinem Rechner.Es kommt oft vor das die Engines der einzelnen Platinensystemen aufgebohrt werden,also immer bei jedem neuen Mame heikle Spiele testen,manchmal gibts da positives.

Aber Sachen wie ScudRace(9fps bei mir)werden wohl noch ne weile dauern...

Sir Andrew
2006-08-18, 16:34:54
Für schnelle 3D-Spiele ist Zinc (www.emuhype.com) besser. Hier geht es nicht um Genauigkeit, sondern um Geschwindigkeit und gutes aussehen. Das Programm benutzt sogar die gleichen Roms wie MAME.

hyperterminal
2006-08-23, 12:23:52
Obwohl ich als Laie nicht so ganz verstehen kann, warum da D3D keine Hilfe sein kann.
Das frage ich mich auch. Bei D3D9 + SM3 sollte man doch sehr flexibel sein. Da muesste es doch moeglich sein, die Emulation so aufzuteilen, dass die CPU die CPU emuliert und die Grafikkarte die Grafikkarte. Die Emulation von 3dfx Grafikkarten mittels Glide Wrapper klappt doch auch wunderbar und ist auch ziemlich genau.

Irgendwo habe ich mal gelesen, dass eine in die Jahre gekommene GeForce FX 5900 Ultra unter bestimmten Bedinungen die Leistung eines 10 GHz Pentium4 erreicht. In den Grafikkarten steckt also eine enorme Power, da sie fuer bestimmte Aufgaben viel besser geeignet sind. Das man diese Leistung einfach so verschenkt kann ich nicht nachvollziehen.

Gerade auch die schlechte System11/12 Emulation wundert mich, basieren diese Automaten doch auf der Playstation1, welche von zahlreichen Emulatoren schon fast perfekt emuliert wird. Vielleicht fehlt den Mame Entwicklern ja nur das noetige Geld bzw. die Motivation?

Sir Andrew
2006-08-23, 13:36:20
Erstens wollen die Mame-Entwickler keine schnelle Emulation, sondern eine genaue. Genau bedeutet hier Pixel-Genau. Da die Treiber von den Graphikkarten durch Antialiasing und und diverse Filterungen die Bilder verfälschen, werden die 3D-Eigenschaften der Karten nicht verwendet.

Zweitens soll Mame portabel bleiben und Direct 3D gibt es unter Unix und auf dem Mac nicht.

Drittens haben die Entwickler schon diverse Male gesagt, daß die Graphik nicht die Zeit kostet. Zeitintensiver ist es eine 33 MHz RISC-CPU (System 11: Tekken 1) zu emulieren. Das dauert und macht die Spiele langsam. Und da, wie bereits gesagt, die CPU-Emulation auch 100% korrekt sein soll, können die auch nicht irgendwelche Speed-Hacks einbauen.

Viertens haben einige MAME-Entwickler (Aaron Giles und R. Belmont) weitere Emulatoren auf MAME-Basis herausgebracht die schneller sind und nicht die Geschwindigkeitsprobleme haben.

Wartet noch ein paar Jahre und die Prozessoren werden so schnell sein, dass die Spiele irgendwann automatisch flüssig laufen.

Und immer dran denken: Mame ist nicht zum Spielen da. Es soll eine Dokumentation von Arcade-Hardware sein. Das Spielen ist nur eine nette Nebensache. (So sagen das die Entwickler jedenfalls.)

Sir Andrew
2006-08-23, 16:12:24
R. Belomont (einer der führenden Mame-Entwickler und Programmierer von Zinc) hat auf seiner Seite (http://rbelmont.mameworld.info/) ein paar Zahlen veröffentlicht. Die neuen Intel-Prozessoren sind wirklich flott für Mame.

zappenduster
2006-08-24, 08:45:05
Erstens wollen die Mame-Entwickler keine schnelle Emulation, sondern eine genaue. Genau bedeutet hier Pixel-Genau. Da die Treiber von den Graphikkarten durch Antialiasing und und diverse Filterungen die Bilder verfälschen, werden die 3D-Eigenschaften der Karten nicht verwendet.

Zweitens soll Mame portabel bleiben und Direct 3D gibt es unter Unix und auf dem Mac nicht.

Drittens haben die Entwickler schon diverse Male gesagt, daß die Graphik nicht die Zeit kostet. Zeitintensiver ist es eine 33 MHz RISC-CPU (System 11: Tekken 1) zu emulieren. Das dauert und macht die Spiele langsam. Und da, wie bereits gesagt, die CPU-Emulation auch 100% korrekt sein soll, können die auch nicht irgendwelche Speed-Hacks einbauen.

Viertens haben einige MAME-Entwickler (Aaron Giles und R. Belmont) weitere Emulatoren auf MAME-Basis herausgebracht die schneller sind und nicht die Geschwindigkeitsprobleme haben.

Wartet noch ein paar Jahre und die Prozessoren werden so schnell sein, dass die Spiele irgendwann automatisch flüssig laufen.

Und immer dran denken: Mame ist nicht zum Spielen da. Es soll eine Dokumentation von Arcade-Hardware sein. Das Spielen ist nur eine nette Nebensache. (So sagen das die Entwickler jedenfalls.)

du hast im grossen und ganzen ja schon recht wobei man zurnot auch von direct 3d auf opengl ausweichen koennte das ja unter den meisten desktop os verfuegbar ist aber die mame devs haben sich nunmal ihre regeln und beschraenkungen auferlegt und bleiben dabei

denke aber trotz dual core cpus und aehnlichem werden noch etliche jahre vergehen bevor ein grossteil der spiele fluessig laeuft (und ich meine damit 30-60fps) zur zeit duerfte wohl eh nur ein kern genutzt werden sprich man brauch die rohe cpu kraft und die steigt auch nicht so rasend an wie die anzahl der kerne im moment

dragonmaster
2006-08-26, 01:50:15
radiant silvergun und cotton boomerang lassen sich sehr gut mit ssf spielen, ein 3000er a64 reicht da der Saturn-Emulator sse2 benötigt.

http://www.google.com/translate?u=http%3A%2F%2Fwww7a.biglobe.ne.jp%2F%257Ephantasy%2Fssf%2Findex.html&langpair=ja%7Cen&hl=en&ie=UTF8

msilver
2006-09-03, 07:05:02
sorry!
tekken3 @mame?

Fusion_Power
2006-09-05, 15:40:44
radiant silvergun und cotton boomerang lassen sich sehr gut mit ssf spielen, ein 3000er a64 reicht da der Saturn-Emulator sse2 benötigt.

http://www.google.com/translate?u=http%3A%2F%2Fwww7a.biglobe.ne.jp%2F%257Ephantasy%2Fssf%2Findex.html&langpair=ja%7Cen&hl=en&ie=UTF8

Wie genau soll das Programm gehen? Bei meinem Kumpel will des Ding irgend wie Daten von CD haben und bei mir produziert die .exe nur gigantische Ausnahmefehler in Windows. :(

msilver
2006-09-06, 17:26:11
sorry!
tekken3 @mame?

kann mir jemand bitte eine antwort geben? habe sicher nur was falsch gelesen hier oder?

hyperterminal
2006-09-06, 18:57:52
kann mir jemand bitte eine antwort geben? habe sicher nur was falsch gelesen hier oder?
Wenn du einen schnellen Prozessor hast, dann sollte die Arcade Version von Tekken 3 laufen. Allerdings ist das Spiel noch nicht zu 100% emuliert.

Wenn du also Tekken 3 am PC spielen willst, dann wuerde ich dir die Playstation Version zusammen mit ePSXe empfehlen. Pete's OpenGL2 PSX GPU Plugin bietet zahlreiche Optionen zur Grafikverbesserung.

Anbei mal ein Screenshot der Playstation Version mit Comicshader (zum Vergroessern auf das Bild klicken):
http://img516.imageshack.us/img516/4564/tekken3ko1.th.jpg (http://img516.imageshack.us/my.php?image=tekken3ko1.jpg)

dragonmaster
2006-09-09, 09:43:24
Wie genau soll das Programm gehen? Bei meinem Kumpel will des Ding irgend wie Daten von CD haben und bei mir produziert die .exe nur gigantische Ausnahmefehler in Windows. :(

man braucht ein saturnbios

Gast
2006-09-09, 14:25:24
Hallo!

Ich habe mir heute einmal den Source Code der aktuellen Mame Version (0.107) vorgenommen und zwei verschiedene Mame Builds kompiliert. Als ich die beiden dann gegeneinander gebencht habe, musste ich feststellen, dass die speziell Athlon64 optimierte Version lediglich 0,5-5% schneller als die nichtoptimierte Version ist.

Welcher Compiler?

hyperterminal
2006-09-09, 18:40:26
Welcher Compiler?
Ich habe MinGW genutzt. Gibt es da was besseres?

Gast
2006-09-09, 22:34:25
Beziehen sich die "Optimierungen" auf den Code oder nur auf die Compilerflags? Weil wenns nur die Compilerflags sind ist es logisch dass der Geschwindigkeitsgewinn äußerst marginal ist.

Und ja unter Windows ist VC++ 2005 eigentlich schneller als GCC (ala Mingw).

hyperterminal
2006-09-09, 22:50:34
Beziehen sich die "Optimierungen" auf den Code oder nur auf die Compilerflags? Weil wenns nur die Compilerflags sind ist es logisch dass der Geschwindigkeitsgewinn äußerst marginal ist.

Und ja unter Windows ist VC++ 2005 eigentlich schneller als GCC (ala Mingw).
Da ich mich damit nicht besonders auskenne habe ich nur die makefile bearbeitet. Nachfolgender Abschnitt ist fuer die CPU Optimierungen zustaendig:#-------------------------------------------------
# specify build options; see each option below
# for details
#-------------------------------------------------

# uncomment one of the next lines to build a target-optimized build
# ATHLON = 1
# I686 = 1
# P4 = 1
# PM = 1
AMD64 = 1AMD64 = 1 ist in dem Fall die Compiler Flag? Wuerde es da ueberhaupt etwas bringen, wenn man das mit VC++ 2005 kompiliert oder bewegen sich die Performancegewinne dort auch nur im unteren einstelligen Prozentbereich?