PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Tester für FPS-Experiment



Gorkon
15.09.2005, 13:15
Also, kurz die Story. ich habe gerade Wizard's Islands durchgezockt. Schöner Mod, braucht aber einen starken Rechner wegen HighRes-Texturen, vielen Details undsoweiter. Dort gibt es allerdings auch einige Regionen, die extremst langsam (~1 FPS) laufen, obwohl es kaum was zu berechnen gibt. Ich konnte das auf eine bestimmte Skriptfunktion zurückführen (GetDeadCount). Wenn man die entsprechenden Skripte umbaut, so daß sie ohne diese Funktion auskommen, laufen diese Regionen plötzlich mit 50 FPS. (Wer WI spielt/spielen will: Fix (http://www.rpgplanet.com/morrowind/modcontrols/mod.asp?modid=5218) wird empfohlen. ;) )

Nun hat mich das daran erinnert, daß ich mich schon immer gefragt habe, warum im Standard-Game die Gegend um die Dren-Plantage so verdammt langsam läuft. Habe mir die Gegend nochmal im Spiel und im CS angeschaut und folgendes festgestellt:
1. Auf fünf NPCs auf der Plantage läuft ein Skript mit der FPS-Killer-Funktion. An sich keine Überaschung mehr.
2. Auf meinem jetzigen Rechner (AMD64 3200+) läuft die Plantage noch wesentlich lahmer als auf dem Vorgänger (Athlon 1800+).

WTF? Nummer 2 ist überraschend. Meine alte Möhre brachte dort 15-20 FPS, die neue Kiste bricht auf unter 5 weg. Daß deckt sich mit Aussagen im Wizard's Islands Forum, wo die Entwickler berichteten, daß sie auf P4's mit 1.9 GHz die "bösen" Regoinen mit 10 FPS fahren konnten, während Leute mit AMD64 4000+ vor Lag nicht mehr zum Spielen kommen.

Das macht mich neugierig. Heißt das jetzt: Je schneller der Rechner, desto mehr bremst die Funktion? Oder ist das vielleicht ein AMD64-spezifischer Bug? Deshalb wünsche ich mir Vergleichswerte. Am besten von vielen verschiedenen Leuten mit vielen verschiedenen Rechnern. Ihr könnt euch jetzt sicher denken, was kommt. :)

Also, wer Zeit und Lust hat, möge mir bei diesem kleinen Experiment helfen. Man braucht dazu:
- einen Computer
- installiertes Morrowind - Addons/Mods/PI's sind relativ egal
- eine Dren-Plantation, bei der noch möglichst viele NPC's leben
(Einkaufsliste gibt es unter www.besser-morrowind-fps-testen.de , oder auch nicht ^^ )

Danach tapert man zur Dren-Plantation und notiere sich dort die FPS-Rate. Dann folgende 5 NPC's killen:
- Aebondeius Jucanis
- Frinnius Posuceius
- Hrargal the Crow
- Manos Othreleth
- Mavus Ules
Das sind alles böse Cammona Tong'er, also wech mit ihnen. *g* (Die Jungs greifen übrigens von sich aus an, wenn man auf der Plantage einen Sklaven befreit. Schlüssel gibt es im Shipping House.)


Wenn die Jungs schon tot sind, kann man sie per Konsole neu spawnen. Kann auch 5x derselbe sein, da alle dasselbe Skript verwenden. Folgender Befehl spawnt z.B. 5 (ineinander gestapelte ^^) Mavin Ules' :
placeatpc "mavus ules",5,1,1
Wirkung ist dieselbe. Laggt mich auch dann weg, wenn ich die Jungs in einer beliebigen Interior Cell spawne.


Nach dem kleinen Massaker unbedingt die Leichen beseitigen/disposen. (Das Skript wird erst dann gestoppt, wenn der "Träger" komplett aus dem Spiel entfernt wird.) Und dann FPS-Rate wieder notieren und plz hier inklusive Systemkonfiguration posten.

Ich habe folgende Ergebnisse:
System: AMD64 3200+, 1 GB RAM, GeForce 6600
FPS vorher: <= 5
FPS nachher: 30-50
Character-Level: 79
Spieltage: 187

Bin gespannt auf eure Werte. :)


Noch was. Ich habe ein bissi rumprobiert. Bei einem völlig neuen Spiel ist meine Framerate in der Gegend normal. Hängt auch nicht von verwendeten PI's ab. Meine Theorie: GetDeadCount zählt Anzahl der Leichen bestimmter NPC's oder Kreaturen. Je länger man MW spielt, desto mehr Leichen produziert man natürlich. Vielleicht bremst genau das die GetDeadCount-Funktion immer mehr aus. Bitte gebt zusätzlich euren Charlevel und die Anzahl der Ingame-Spieltage (wird im Rasten-Menü angezeigt) an, damit ich eine ungefähre Vorstellung habe, wie lange ihr mit dem aktuellen Char bereits durch die Geschichte von Vvardenfell metzelt. ;)


P.S.: Grafikeinstellungen etc. sind relativ nebensächlich, weil der Skriptbefehl ausschließlich die CPU belastet. Ich habe auch eine Standard EXE mit einer optimierten (EXE Optimizer 1.7) verglichen, macht keinen Unterschied bei mir.
Einzig der FPS Optimizer könnte die Ergebnisse verfälschen. Falls der bei euch läuft, für den Test bitte abschalten.

FPS-Anzeige kriegt man so: Morrowind.ini (MW-Verzeichnis oder Eigene Dateien/Morrowind) editieren und Show FPS=0 ändern in Show FPS=1. Eintrag ist ziemlich weit oben. Es werden minimal 5 FPS angezeigt, selbst wenn die echte Rate darunter liegt!

Shiravuel
15.09.2005, 14:27
So, bin gleich mal zur Dren-Plantage rübergebeamt und hab die Jungs da alle umgenietet, nachdem ich vorher das FPS auf 1 gestellt habe. Allerdings zeigt die FPS-Rate bei mir hinterher auch nur 1 an, obwohl ich die Leichen sofort entsorgt habe. Was bedeutet die flitzende zahl unterhalb meiner karte am Bildschirm unten rechts? Die hatte ich vorher noch nie. Geht von 27 (wenn ich stillstehe) bis 59, wenn ich laufe oder springe.

System:
ASUS A7N8X-E Deluxe mit Bios Rev. 1.012
512 MB (1 Riegel) Samsung RAM, 400 FSB,
CPU ist der Barton 3200er, 400 FSB.
Platte ist von Samsung, 120 GB, 7200 upm.
Grafikkarte MSI Gforce FX 5900XT, DX 9.0c

Crow
15.09.2005, 14:33
Diese "flitzende" Zahl ist das, was Gorkon von dir wissen möchte, nämlich die aktuelle Framerate, welche sich ja andauernd ändert. Der Befehl in der Ini war nur dazu da, diese sichtbar zu machen (Show FPS). Von daher zieh's am Besten noch einmal durch und beobachte dabei diese kleine Zahl genau und ob sie sich ändert, wenn du die Leichen beseitigt hast.

PS: Ich beneide dich um deine Framerate, in exteriors ist meine geringer ^^

Edit: @Gorkon: Schneller :p :D

Gorkon
15.09.2005, 14:34
Die flitzende Zahl ist die FPS-Anzeige. :) Die Zeile in der Ini schaltet die lediglich ein oder aus. Frames Pro Sekunde = Richtwert, wie flüssig ein Spiel läuft. Mehr ist immer besser. Wenn die FPS unter 20 sacken, ruckelt es merklich. Und wenn es zu sehr ruckelt, leidet die Spielbarkeit.

Zur Anzeige selbst: Der Wert sollte z.B. raufgehen, wenn du den Boden anschaust, weil dann keine Bäume und Häuser berechnet/gerendert werden müssen. Geht bei mir halt extremst runter, wenn ich die Plantage besuche, und wiede hoch, wenn ich die Leutz umhaue und entsorge. Ungefähre Werte reichen. Und schonmal danke, daß du testest. :)

Crow: Ich krieg dich auch noch. :p ;)

Shiravuel
15.09.2005, 14:36
Diese Zahl hab ich seit Balmora, wo ich zuerst stand, genauestens beobachtet, weil die mir nämlich Angst machte :D Ist überall dasselbe. 27 wenn ich stillstehe, bei normalem Gehen zwischen 32 und 39 und wenn ich renne oder springe geht sie auf 59. War in Balmora so und dann hab ich Multiple Mark nach Suran genutzt und bin von dort zu Fuß zur Dren-Plantage. Diese Zahl war überall bei allein Bewegungen wie oben angegeben,.

Edit: stimmt, sie geht hoch, wenn ich den Boden anschaue. Musste mal eben eine Elder Rat killen und hab die betrachtet hinterher und da raste die Zahl auf 59.

Gorkon
15.09.2005, 14:44
Lustig. Macht bei mir wenig Unterschied, wie/ob ich mich bewege. btw du hast nicht vl den FPS Optimizer am Laufen? Der würde natürlich die Werte verfälschen. ich editiere das mal oben rein.

Shiravuel
15.09.2005, 14:45
Nein, den hab ich nicht. Wusste bis eben (als technische Niete, die ich bin) nicht mal, dass es den gibt ;) Ich habe nur das normale MW mit Add-Ons und natürlich etlichen PIs. Sonst nix.

Gorkon
15.09.2005, 14:57
Hmm. Whatever. Kannst du dann bitte die Sache auf der Plantage wiederholen? Ich hoffe, du hast jetzt nicht den einzigen Savestand überschrieben. ^^ btw bei mir ist das fühlbar langsam, auch ohne Anzeige. Bis man die Leutchens entsorgt. ;)

Shiravuel
15.09.2005, 14:59
Jep, mache ich. Nein, ich habe extra direkt vor der Dren-Plantage einen Test-Save angelegt. ;) Also dann auf ein Neues ^^

Shiravuel
15.09.2005, 15:25
Sry für Doppelpost und dass es länger gedauert hat. Musste schließlich erst den armen Hides-his-Foot zu Sterdecan bringen ;)

Also bei genauerer Betrachtung: FPS bei Ankunft auf der Dren-Plantage zwischen 25 und 32. In einer Hütte ging es sogar auf 145 hoch. Nach Töten aller erforderlichen Leute: 32-42, je nachdem, wo man hinsah. Merkwürdigerweise im freien Gelände beim Blick auf freien Boden ohne Elder Rat: 89, in der Hütte auf der Dren-Plantage 145 :confused: Wie auch immer: bei mir wird es nicht extrem langsam http://www.multimediaxis.de/images/smilies/old/szuck.gif

Crow
15.09.2005, 15:33
Das mit den 145 ist in Interior-Zellen normal, da sie sehr viel kleiner sind und dort deshalb lange nicht so viel berechnet werden muss wie bei Exteriors. Bei mir gibt's höchstens 75, aber das habe ich auch in der Ini so eingestellt als Höchstgrenze bzw. es war so eingestellt in einer optimierten Ini-Datei, die bei mir gut läuft.

@Gorkon: Werde bei Gelegenheit auch mal testen, weiß aber noch nicht genau, wann ich dazu komme.

Ciryathan
15.09.2005, 15:51
So, habs auch mal schnell ausprobiert:

FPS-Ankunft:
ca. 7-9 ( http://www.multimediaxis.de/images/smilies/old/s_010.gif )

Nachdem ich die Leutchen um die Ecke gebracht hab:
ca. 9-10

Kleine Verbesserung, aber nicht die Welt...

Wenn ich mir die FPS-Zahlen ansehe, schauts mit Oblivion wohl düster aus *unnötige PIs ausmisten geh*

imported_DWS
15.09.2005, 15:54
MGE hat auch eine FPS Anzeige, die sich aber stabiler verhält (sample rate, Mittelwert, 3 Nachkommastellen, ...). Falls es um Genauigkeit geht, sollte es vielleicht eher damit getestet werden.

Und außerdem, aus pazifistischer ovolacto-vegetarischer Sicht prangere ich diesen blutigen FPS-Test an... O:)

Gorkon
15.09.2005, 16:53
@Ciryathan:
Schonmal danke. Hast du die Leichen auch disposed/entsorgt? Ist wie gesagt wichtig, solange die noch rumgammeln, läuft die Bremse weiter. Und wie sind diene FPS in umliegenden Außenwelt-Bereichen?

@DWS:
pazifistisch ovolacto-vegetarisch my @$$. http://www.multimediaxis.de/images/smilies/old/grinundwech.gif Muß nicht rasend genau sein. Sowat wie "vorher 10, jetzt Pi mal Daumen 30-40" reicht mir. Geht mir primär darum, wie groß der Unterschied vorher-nachher ist.

@alle:
Ich habe noch ein bisserl rumgetestet. Mit einem frisch generierten Char läuft bei mir alles flüssig, selbst wenn ich jede Menge PI's reinhaue.
Theorie: GetDeadCount zählt die Anzahl der Leichen einer gegebenen Kreatur oder NPC-Art. Je mehr Leichen man im Verlauf des Spiels produziert hat, desto langsamer wird die Funktion insgesamt.
D.h. gebt bitte auch immer euren Characterlevel und die Anzahl der Ingame-Spieltage an, damit ich eine ungefähre Vorstellung habe, wie viele Leichen der Char schon produziert hat. ;) Habs oben schon reineditiert.

Shiravuel
15.09.2005, 17:05
Mein Char ist Level 35, Ingame-Spieltage editier ich nach. Müsste ich mal eben schauen.

Edit: 85 Ingame-Spieltage (Leichen dürfte ich genug produziert haben ... wohl sehr zum Mißfallen von DWS http://www.multimediaxis.de/images/smilies/old/grinundwech.gif )

James Bond
15.09.2005, 20:25
92 Spieltage, Held hat Level 46.

Mein System:
Abit AV8
AMD64 3500+ (Winchester)
1024MB DDR-400 Ram
Asus V9999GT (6800GT, 128MB)
Hitachi 120GB, S-ATA 7200rpm

Sichtweite in MW auf voll, maximale Schatten, Auflösung 1280*960

Auf der Dren-Plantage: 18-22 fps
Nach der, äh, Säuberung: 28-30 fps

Als Experiment führte ich noch eine .... komplette Evakuierung durch :D Keine Steigerung der Framerate.

Gorkon
16.09.2005, 16:58
Jo, danke auch dir. Macht sich demnach bei dir bemerkbar. Nicht so extrem wie bei mir, aber immerhin 10 FPS. VL hast du ja im Auftrag Ihrer Majestät bereits mehr...err...Evakuierungen durchgeführt als unser Forendrache. ^^

Und da müssen doch noch mehr Leute sein, denen die pazifistischer ovolacto-vegetarischer Sicht schnurz ist. Haut rein. ;)

Majed
16.09.2005, 21:08
Haut rein. ;)
Athlon 1800+ 512 MB GF3
1. Charakter:
Spieltage 270
Level 55
Volle Sichtweite, keine Schatten, Savegames jeweils vor Arvel Manor startend, vor jeder Messung frisch geladen, FPS-Optimizer aus.

1. Rundgang mit lebenden NPCs durch die Dren-Plantage 7-10 FPS
2. Rundgang mit entsorgten NPCs 13-18 FPS

Interessant vielleicht auch, das beim Start vor der Arvel Manor Blickrichtung Dren-Plantage beim ersten Mal die FPS um die 11 betrugen, beim 2. Durchgang 16.

imported_DWS
17.09.2005, 08:35
Guck an...

http://www.elderscrolls.com/forums/index.php?showtopic=160451

http://www.wizards-islands.com/wi.htm

Dein patch ist ja schon umgesetzt worden.

Gorkon
18.09.2005, 16:06
Ja. Worden. :p Oben gibbet übrigens den Direktlink. ;)

Und nun stelle ich im Nachhinein fest, daß der Slowdown durch GetCeadCount nicht allgemeingültig ist. Jetzt will ich wissen, was es verursacht/auslöst. Also krieg deinen Arsch hoch und gib mir Werte, selbst wenn es nur insertete Chars sind. ;)

@Majed:
Auch nochmal Dankeschön. :) Mmmmh...älteres System, viele Spieltage, und trotzdem weniger Auswirkungen als bei mir. Wird immer merkwürdiger. Trotzdem noch nnapp verdoppelte Framerate allerdings, also schon deutlich spürbar.

Gorkon
18.09.2005, 19:14
Ok. Das Thema hat sich gerade erledigt. Ich wurde gerade darauf gestoßen, daß es wirklich eine Kill List in jedem Savegame gibt, die man sich mit dem Enchanted Editor ankuggsen kann (thx Katan). Besser noch, man kann sie löschen. Und wenn ich mit einem so modifizierten Savegame zu den Drens latsche, läuft alles normal schnell.

Damit weiß ich endlich definitiv, was GetDeadCount so langsam macht. Es ist eigentlich ganz logisch. Je länger man spielt und je mehr (verschiedene) NPC's und Kreaturen man um die Ecke bringt, desto länger wird die Liste. Checkt ein Skript per GetDeadCount nach einer ganz neuen Kreatur, die man noch nie vorher abgemurkst hat, wird die komplette Liste durchlaufen. Und killt man so ein Viech zum ersten Mal, so landet es ganz unten in der Liste, was die Sache auch nicht schneller macht. :p

Der größte Witz dabei ist, daß ich für die Aktion "Liste Löschen - -Spiel laden - Testen" gerade mal zehn Minuten gebraucht habe. Hätte mir also diesen Thread sparen und euch gar nicht belämmern müssen. Naja, hinterher ist man immer schlauer. Danke nochmal an alle. ^.^

imported_DWS
18.09.2005, 21:14
Ist dieses WI-script, das die deadlist durchgeht, die Ausnahme? Wo liegt der Sinn dahinter, irgendwas muß sich der scripter doch dabei gedacht haben?
Hast Du damit jetzt WI schneller gemacht als Silgrad Tower? :rolleyes: [Darauf erwarte ich keine Antwort, nein..., WI kommt bei mir in meiner nächsten Entität dran].

Gorkon
18.09.2005, 23:38
Bestimmte WI-Skripte nutz(t)en GetDeadCount bei Bossfights, bei denen erstmal ein paar "Wellen" irgendwelcher Untergebener plättet, bevor der Obermotz materialisiert. Beispiel: Plättet man die ersten 4 Zombies, die er einem vorwirft, spawnen 5 neue. Hat man die durch, kommen 8. Sind die auch durch, mischt sich der Obernecro persönlich ein. Obermotz platt -> Quest gelöst. Per CetDeadCount wird das Spawnen der nächsten Welle getriggert - alle Viecher Marke Zombie2 haben ein Skript "if (GetDeadCount, Zombie1 == 4) enable endif") am Laufen, vorher sind sie halt disabled.

Die alten Skripte laufen reichlich lahm, wenn die Kill-Liste sehr voll ist. Und wenn du einen Kampf mit einer Horde Gegner bei 2 FPS führen sollst, ist das ein bissi ätzend. Der Fix bastelt das so um, daß eine Global die Anzahl toter Minions zählt (die haben jetzt ein "if (OnDeath == 1) [erhöhe Counter] endif" drauf) und die nächste Welle bei einem bestimmten Wert spawnt. Damit läuft die Szene dann normal schnell.

Diese Skripte laufen aber nur in bestimmten Cells, eine deutliche Beschleunigung merkt man (wenn überhaupt) in 5 Bereichen. Generell bleibt WI langsam - das Haupt-Örtchen besteht z.B. aus einer Unzahl Meshes mit HighRes-Texturen drauf und einer Horde NPC's mittendrin. Das ist einfach ein großer Haufen Krempel, den die CPU abarbeiten muß, und hat nicht mit amoklaufenden Skripten zu tun. ;)

Und wie schnell/langsam Silgrad Tower ist, bleibt zu überprüfen - wenn ichs komplett verschoben kriege. ^^

imported_DWS
19.09.2005, 09:39
Da hast Du Dir ja was vorgenommen... Zu bedenken (evtl.), Silgrad Tower ist teilweise noch im Aufbau (dafür werden auch noch Modder gesucht) :
http://www.silgrad.com/cpo/_content/show_index.php?nr=1692&directory=main_pages

Und, was haargenau dran passt: Rodan's Blacklight mod www.q-pages.com gehört dazu.

Majed
19.09.2005, 19:51
Wenn ich die Player Kill List per Enchanted Editor löschen möchte, bricht das modifizierte Savegame beim Laden mit einem "Expression Error" ab (Nein, das "PlayerSaveGame" habe ich nicht mitgelöscht).
Nach der Anleitung im EE hab ich dann analog zur Kill List die Cells mitgelöscht, das Savegame laden können und auch deutlich mehr FPS mehr gehabt, leider wurden auch alle bislang getöteten NPCs wiederbelebt. Questrelevante NPCs stehen wieder an ihren Ausgangsorten, und in Seyda Neen startet die Charaktergenerierung von neuem. Abgesehen davon ist sonst alles in Ordnung...
Für ein größeres PI wie Wizards Islands, das man installiert, durchspielt und wieder von der Platte putzt ginge das schon, aber für "normales" spielen ist das imho nicht wirklich geeignet. Ob das alleinige löschen der Kill List weniger Nebenwirkungen hat bzw. würde es sich lohnen auf Ursachensuche zu gehen, warum es nicht klappt?

Gorkon
19.09.2005, 20:06
Ich würde das Savegame lassen, wie es ist. Ich habe die Aktion auch nur testeshalber durchgezogen, das modifizierte Savegame gibt es nicht mehr. Die Sache mit dem "Cleanen" war ein reiner "Proof of Cocept" und war nicht zum Nachmachen gedacht (don't try this at home ^^).

Es gibt nur sehr wenige Gebiete, die überhaupt wegen der Sache langsamer laufen. Außerdem würde so ein "Säuberungsvorgang" mehr Ärger machen, als er bringt: In vielen Dialogen wird ebenfalls GetDeadCount benutzt (z.B. um zu checken, ob NPC xyz wirklich getötet wurde). Performace kostet das so gut wie keine, aber wenn die Kill List weg ist, kann man entsprechende Quests nie beenden (NPC tot, wird aber nicht als gekillt angesehen).