Die wahren Gründe der FPS Probleme (?)

hoir mal nen full hd monitor, is doch schade beim system von dir so ne gümmelauflösung auf dem 22"
 
Nette Arbeit, aber soweit ich das bisher mitbekommen habe beweist du nichts neues.

Ich hab z.B. ein Laptop mit einem i7-720Q und hatte übelste Frame-Einbrüche.

Der Artikel hier hat mir da weitergeholfen....


http://www.mmo-champion.com/threads/818615-Multi-Core-Cpu-Architecture-and-WoW-Lag-and-Graphical-tweaks...Guide?highlight=multi+core

Hier wird die Config-Datei von WoW mit einem Parameter "gezwungen" nur noch 3 Kerne zu nutzen und es funktioniert imo recht gut.
 
die lags in ds die du ansprichst habe ich selbst schon erlebt ich hoffe allerdings das sobald der 64-bit Client da ist das diese performance Probleme ausgemerzt werden
 
das problem mit den fps einbrüchen und dem raidbrowser kann ich nur bestätigen.

Was ich jedoch total merkwürdig finde, denn  wenn ich "serverintern" ds25er betrete meine framerate bei konstanten 30 (bosskämpfen um die 25-28) liegt und über den Raidbrowser breche ich sofort auf 5-12 fps ein. Ich vermute mal dass der Client auch mit der Syncronität der einzelen Realm übergreifenden Spieler nicht so wirklich klar kommt.
Den 64bit clienten konnte ich auch schon testen und muss sagen es gibt einen deutlichen leistungs schub auch für nicht so gute systeme.
 
Du guckst leider mit sehr ungenauen Tools hin und "rätst" dir etwas zurecht
Im einzelnen:

Zum einen sehen wir das World of Warcraft, wider erwarten, alle vier Kerne des Quad-Core Prozessors (auch wenn nicht wirklich gleichmäßig) ausnutzt, obwohl häufig etwas anderes behauptet wird.

Schaut man ganz genau hin kommt man zu dem Ergebnis, dass die Multicoreunterstützung von WoW im wesentlichen "aufgepropft" wurde.
Es gibt -gaaaanz platt formuliert- immer noch einen Mainthread der die Hauptarbeit macht und einige Subthreads, die Nebenrechnungen und Addons machen.
Das Problem ist nun, dass die Threads über die einzelnen CPU Kerne (oder schlimmer noch über logische CPU Kerne also auch Hyperthreadingmist) wandert (von Windows gesteuert).
Der Nachteil daran ist, dass jeder Kernwechsel ein komplettes umkopieren des CPU Cache inkl. Neueinlesen der Cache Daten erfordert, was insbesondere beim Wandern vom physikalischern Kern auf einen Hyperthreading"kern" dummerweise zu einer erheblichen Performanceverschlechterung führt.
Fakt ist: Auf einem System mit 2 echten(!) Kernen ohne(!) Hyperthreading ist die CPU Nutzung am besten, mit zunehmenden Kernen wirds eher schlechter.

Nachvollzogen hab ich das Ganze an mittlerweile 6 Rechnern, denen ich per Bios Setting einzelne Kerne abklemmen kann (geht bei Phenom II System sehr gut).
2 Kerne (und ggf. Übertakten) --> 10-15 FPS im Raid mehr, bei ansonsten unverändertem System als mit 4 Kernen.

Fazit CPU: 2 Kerne mit Hoher Frequenz > Mehr Kerne mit geringerer Frequenz > Hyperthreading Mist

Da zu diesem Zeitpunkt der WoW Prozess nur ca. 950mb verwendet (und somit noch ca. 5 GB frei sind)
Falsch. Als 32bit Prozess kann der Client unter egal welcher Windows Version maximal 4gbyte RAM (genauer 3,56) adressieren.
--> http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778%28v=vs.85%29.aspx
Selbst unter einem 64bit OS stehen dir max 3,56gb pro 32bit Prozess zur Verfügung

Auch wenn ich, aufgrund der Fehlenden Hardware und mangels Einsicht in den World of Warcraft Quelltext, nur begründete Vermutungen anstellen kann, drängt sich der Verdacht auf, das die Bildrate (zu mindestens auf guten Systemen) nicht nur durch die Leistung der verbauten Hardware (wie es eigentlich sein sollte) sondern vielmehr durch die World of Warcraft Engine und in ihr durch einen möglichen Fehler (teilweise stark) eingeschränkt bzw beeinflusst wird

Natürlich beschränkt die Engine. Ist in ihren Kernfunktionalitäten nunmal auch über 8 Jahre alt (Releasedatum + Entwicklungszeit).
Damals gab es kein Hyperthreading, kein 64bit OS (für Heimanwender), keine Multicore Systeme, etc. etc. etc.
Allerdings merkt man durchaus Unterschiede, wenn man Hardware angepasst an den Einsatzzweck kauft. Einen schnellen 2 Kerner ohne Hyperthreading verwenden bringt deutlich mehr als einen 4 Kerner. Erst recht, wenn letzterer niedriger taktet. Die Frage, ob man selbst seine Hardware auf ein einziges Spiel(!) hin kaufen möchte muss sich aber jeder selbst stellen.

Was die Performanceprobleme bei Ultraxion angeht, hat Blizz ja selbst schon zugegeben, dass das Design insbesondere des grünen Buffs absolut bescheuert ist (und auch schon Anpassungen vorgenommen). Das Problem ist, dass du hier mit exponentiell steigendem Berechnungsaufwand konfrontiert ist. Grüner Buff heisst halt: Initialheilung auswerten, diesen Wert nehmen und auf alle Member in Range aufteilen. Hast du da nun ein Segenswort: Refugium oder einen Heilenden Regen oder ein Erblühen liegen, muss jeder einzelne Tick der Heilfläche (seit Hotfix nur noch, wenn > 1500) ausgewertet und einzeln auf jedes Raidmitglied kopiert werden. Nimm einfach mal die Zeilenzahl vom Combatlog und vergleich die mit einem Combatlog eines belibeigen anderen Bossfights gleicher länge, dann weisst was ich meine )
Kommen jetzt noch Addons hinzu, die das ganze Auswerten (Recount/Skada, Bossmods, Combattextanzeige,.....) wollen die natürlich auch noch fröhlich rumrechnen.

Das Problem ist, dass du hier einfach früher oder später auch an die Grenzen des Betriebssystems stößt.
Um hier die Leute nicht zu langweilen verweise ich mal auf 2 schöne Technet Blogs zum Thema:
http://blogs.technet.com/b/markrussinovich/archive/2009/09/29/3283844.aspx
und da dann inbesondere den Part "Threads".

Zugrundeliegend ist natürlich -und da gebe ich dir vollkommen recht- die für heutige Verhältnisse(!) unsaubere Programmierung.
Das wird mit dem 64bit Client nicht besser werden, aber immerhin liegen die Limits hinsichtlich Handles, Threads und zugehöriger Speicherlimits bei einem 64bit Prozess naturgemäß deutlich höher, was in einer sichtbar besseren Performance resultieren wird. Bevor wir da an die Grenzen stoßen, dürfte noch einige Zeit ins Land gehen (auch wenn Windows hier schon wieder künstlich begrenzt But who cares? 640k is enough :-) ).
 
Fazit:

Auch wenn ich, aufgrund der Fehlenden Hardware und mangels Einsicht in den World of Warcraft Quelltext, nur begründete Vermutungen anstellen kann, drängt sich der Verdacht auf, das die Bildrate (zu mindestens auf guten Systemen) nicht nur durch die Leistung der verbauten Hardware (wie es eigentlich sein sollte) sondern vielmehr durch die World of Warcraft Engine und in ihr durch einen möglichen Fehler (teilweise stark) eingeschränkt bzw beeinflusst wird. In wie weit dies u.U. sogar das Design (hauptsächlich Raid Bosse) eingeschränkt hat, und ob es überhaupt Sinn macht sich ein High End System anzuschaffen wenn das Spiel dann in Ultra Einstellungen ruckelt... Ich kann es leider, mangels mittel, nicht überprüfen aber ich vermute das man selbst mit einem "Ultra HighEnd System" (Sockel 2011, 2x ATI HD 7970) diese Probleme spürt.

Eines vorweg: Ich finde es immer gut wenn jemand versucht die Hintergründe von Problemen zu verstehen.

Was du zu ergründen versuchst ist allerdings ein bekanntes Problem beim Echtzeit-Rendering:

Wie du richtig geschrieben hast, tragen sowohl die CPU als auch die GPU zur Performance bei. Ein wichtiger Aspekt dabei ist aber, was gerendert wird und wieviele "Renderoperationen" dafür nötig sind.
Es ist nämlich möglich das Rendern mehrerer Objekte zusammen zu fassen (Batching), was die Performance ungemein steigert. Batching ist allerdings umso leichter, je homogener die Objekte sind.

Daher rührt auch der Unterschied zwischen deinen beiden Szenarien, Stormwind und Elwyn. Bäume, Sträucher, etc. lassen sich sehr gut "batchen", denn sie sind statisch und verwenden nur wenige, gleiche Texturen. Da macht es kaum einen Unterschied ob man 10 oder 10k Bäume in einer Szene hat. Im Gegensatz dazu sind NPCs (und noch schlimmer Avatare von Spielern) dynamisch und unabhängig voneinander animiert und texturiert.

Was dich in SW ausbremst ist somit weder CPU noch GPU, sondern die Kommunikation zwischen beiden. Für jeden Spieler wird min. eine Renderoperation angestoßen, für die selbe Zahl an Bäumen brauchst du nur eine Handvoll davon.
Von daher hast du also recht, es ist die Engine. Aber es ist kein Bug und das was man noch optimieren könnte sicher alles andere als trivial.


Das das Empfangen und "verarbeiten" der Daten vom Server nicht das Problem sein kann lässt sich übrigens leicht nachweisen: Stell dich irgendwo wo du niedrige FPS hast hin und schau auf den Boden. Das ändert überhaupt nichts daran welche Daten empfangen werden, es werden lediglich durch das Culling die meisten Dinge um dich rum garnicht erst gerendert. Dadurch steigen die FPS aber schon deutlich an.
 
hmm habe diese probleme nicht...

mein sys:
Windows 7 x64 Ultimate SP1 (Aero ist aus)
AMD Athlon II X3 435 2,9 GHz (Code Name: Rana)+ Scythe Katana 3 CPU-Lüfter <-(sehr zu empfehlen^^)
Gigabyte GA-770TA-UD3
Palit nVidia GTS 450
Kingston DDR3 4GB 1333 Hyper X CL7-7-7-20 (Unganged)
Samsung HD502HJ SATA 500GB (3 Partitionen, 1te win7, 2te auslagerungsdatei u. safe files, 3te alle spiele)

es laufen keine extra tools wie afterburner, wow läuft auf ultra, skyrim auf sehr hoch (mit ENB Mod^^). ich habe mir den rechner selber zusammen gebaut vor ca 12-14 monaten, kosten ca 500-550&#8364;

ps. warum nimmst du win8 pre? oO das neueste ist nicht immer das beste...
 
Zuletzt bearbeitet von einem Moderator:
Schaut man ganz genau hin kommt man zu dem Ergebnis, dass die Multicoreunterstützung von WoW im wesentlichen "aufgepropft" wurde.
Es gibt -gaaaanz platt formuliert- immer noch einen Mainthread der die Hauptarbeit macht und einige Subthreads, die Nebenrechnungen und Addons machen.
Das Problem ist nun, dass die Threads über die einzelnen CPU Kerne (oder schlimmer noch über logische CPU Kerne also auch Hyperthreadingmist) wandert (von Windows gesteuert).
Der Nachteil daran ist, dass jeder Kernwechsel ein komplettes umkopieren des CPU Cache inkl. Neueinlesen der Cache Daten erfordert, was insbesondere beim Wandern vom physikalischern Kern auf einen Hyperthreading"kern" dummerweise zu einer erheblichen Performanceverschlechterung führt.
Fakt ist: Auf einem System mit 2 echten(!) Kernen ohne(!) Hyperthreading ist die CPU Nutzung am besten, mit zunehmenden Kernen wirds eher schlechter.

Nachvollzogen hab ich das Ganze an mittlerweile 6 Rechnern, denen ich per Bios Setting einzelne Kerne abklemmen kann (geht bei Phenom II System sehr gut).
2 Kerne (und ggf. Übertakten) --> 10-15 FPS im Raid mehr, bei ansonsten unverändertem System als mit 4 Kernen.

In der Tat habe ich auf (auf "anraten" eines anderen Users) nochmal nachgemessen, und muss dahingehend korriegieren das WoW nicht von mehr als 2 Cores profitiert,
allerdings auf 2 cores merklic schneller läuft als auf nur einem. Die Tatsache das bei mir (zum versuch hab ich das ganze auch mal auf 4200 MHz laufen lassen)
weder der eine noch der andere Core voll ausgeleastet wird bleibt aber bestehen. (Zumindestens bei einem Messintervall von 10ms).

Das mit den "5GB frei" bezog sich übrigens auf das gesamtsystem. Das ein 32bit Prozess diese nicht reservieren kann ist mir durchaus bewusst, sollte aber nur darstellen das das System nicht am Arbeitsspeicherlimit läuft. Beim 64bit Client hoffe ich natürlich auf weitere anpassungen und nicht nur stupides "als 64bit kompilieren".

Das das Empfangen und "verarbeiten" der Daten vom Server nicht das Problem sein kann lässt sich übrigens leicht nachweisen: Stell dich irgendwo wo du niedrige FPS hast hin und schau auf den Boden. Das ändert überhaupt nichts daran welche Daten empfangen werden, es werden lediglich durch das Culling die meisten Dinge um dich rum garnicht erst gerendert. Dadurch steigen die FPS aber schon deutlich an.

Das ist mir schon bewusst, es geht hier in erster Linie aber nicht um die zahl der FPS sonder vielmehr um die GPU Auslastung. Ich kann in SW auf den Bodenschauen (ohne das ich nur einen Spieler / NPC) sehe, die zahl der FPS steigt natürlich, die Auslastung der GPU liegt aber immernoch nur bei 30-45%. Wenn ich nun im Wald von Elwynn auf den Boden Schaue sind es zum einen deutlich mehr FPS, zum anderen ist die GPU Auslastung hier bei knapp 100%.

hmm habe diese probleme nicht...

Du hast als WoW in Ultra mit 8x Multisampling und eine Auflösung von 1680x1050 und bei dir Ruckelt es in Sturmwind nie?
 
Jein, ruckeln bei 8x Multisampling nein, habe 1280x1024 75Hz Auflösung 5:3, mag einfach kein 16:10, ich habe in sw konstante 70 fps^^

bei mir arbeiten übrigens alle 3 keine zwischen 50-70%

ps. habe ffxGlow auf 0 gesetzt weil ich diesen effect genauso wenig mag wie 16:10 flats, alles andere ist auf max.
 
Zuletzt bearbeitet von einem Moderator:
Doof den OP rauszunehmen. Steh doch zu deiner Aussage, auch wenn sie technisch gesehen an einigen Punkten nunmal nachweislich falsch ist.
Aber gut...

In der Tat habe ich auf (auf "anraten" eines anderen Users) nochmal nachgemessen, und muss dahingehend korriegieren das WoW nicht von mehr als 2 Cores profitiert,
allerdings auf 2 cores merklic schneller läuft als auf nur einem. Die Tatsache das bei mir (zum versuch hab ich das ganze auch mal auf 4200 MHz laufen lassen)
weder der eine noch der andere Core voll ausgeleastet wird bleibt aber bestehen. (Zumindestens bei einem Messintervall von 10ms).

Nichts anderes hab ich oben geschrieben. Das keine 100%ige CPU Auslastung vorhanden ist, zeigt nur, dass der Flaschenhals nicht die CPU ist. Daraus den Umkehrschluss zu ziehen, dass es dann zwingend die Engine sein muss ist aber verkehrt. Du musst schon das Gesamtsystem betrachten und dazu gehören dann eben auch so lustige Dinge wie Page Faults, Heap Management oder auch ganz banal das Entpacken von Texturdaten aus den Gamefiles oder dem Filecache.

Das mit den "5GB frei" bezog sich übrigens auf das gesamtsystem. Das ein 32bit Prozess diese nicht reservieren kann ist mir durchaus bewusst, sollte aber nur darstellen das das System nicht am Arbeitsspeicherlimit läuft. Beim 64bit Client hoffe ich natürlich auf weitere anpassungen und nicht nur stupides "als 64bit kompilieren".

Hast du aber nicht geschrieben und damit eine falsche Schlussfolgerung beim Leser impliziert.

Das ist mir schon bewusst, es geht hier in erster Linie aber nicht um die zahl der FPS sonder vielmehr um die GPU Auslastung. Ich kann in SW auf den Bodenschauen (ohne das ich nur einen Spieler / NPC) sehe, die zahl der FPS steigt natürlich, die Auslastung der GPU liegt aber immernoch nur bei 30-45%. Wenn ich nun im Wald von Elwynn auf den Boden Schaue sind es zum einen deutlich mehr FPS, zum anderen ist die GPU Auslastung hier bei knapp 100%.

Was tendenziell(!!) dann eher auf den Umgang mit Texturen hinweist, als darauf, dass das eigentliche Rendering schiefläuft. Miß mal zum Vergleich den Datendurchsatz GPU <-> VideoRAM in SW und Elwyn und beobachte dazu noch die Anzahl an IO Operationen sowie deren Dauer. Dann weisst du was ich meine. Du kannst nicht GPU und CPU isoliert betrachten, um daraus einen Rückschluss auf eine schlecht programmierte Engine zu ziehen. Funktioniert genauso wenig wie Motor und Getriebe am Auto zu betrachten, um die mögliche Spitzengeschwindigkeit zu berechnen. Da spielen unter anderem auch noch ein CW Wert und die Gesamtübersetzung inkl. Radabrollumfang dazu

Du hast als WoW in Ultra mit 8x Multisampling und eine Auflösung von 1680x1050 und bei dir Ruckelt es in Sturmwind nie?

Regler auf Ultra, 1920x1080, Anisotp. Filterung auf 8x und Multisampling auf 8x (wobei beides für mich zwischen 2x und 8x keinen sichtbaren Unterschied macht) und permanente 60 FpS mit Vsync an.

Ultraxion LfR gehts dann auf 10-23 runter, wobei hier die CPU auf beiden Kernen auf Anschlag läuft und klar der limitierende Faktor ist (was sogar die Windows 7 Leistungsindikatormessung so behauptet, wobei ich der normalerweise soweit glaube wie ich sie werfen kann ) ; Ultraxion mit 3 oder 4 Kernen aktiv bringt keinerlei Veränderung.
System: Phenom II x4 BE Default auf 4*3,1 GhZ für WoW auf 2*4,2 umgetaktet ; GTX260 TI (Treiberversion 285.66) mit default Taktraten (830 / 4008 MHz ); Windows 7 x64 Home Premium ; WoW auf separater Intel x25 SSD ; 16gbyte DDR3-1666 RAM
 
Hallo,

das WoW von einer hohen Taktfrequenz der CPU profitiert kann ich bestätigen.
Mein System, Athlon II 250 (3Ghz), ATI 5770, 4GB RAM und Full HD Monitor.

Auf mittleren Einstellungen war ich letztens nur noch bei knapp 40FPS und in SW hart an der Ruckelgrenze.

CPU auf 3,6Ghz übertaktet, nun liege ich im Schnitt bei 60FPS+ und auch SW bei 40FPS.

Aber....

Was mir eher Sorgen bereitet, ein Zweitsystem an dem ich manchmal spiele (Intel Dualcore E6300(2,8Ghz), ATi4670, 4GB RAM), schafft bei ähnlichen Einstellungen prakitsch genau so viele FPS.
Habe beide Systeme selbst aufgebaut und laufen an sich beide Top, auch nicht zugemüllt.
Daher werfe ich diesen Test mal in den Raum:

http://www.tomshardware.de/world-of...rectx-11-performance,testberichte-240687.html

Besonders die Seiten, CPU Skallierung finde ich interessant, wenn nur halb soviel daran wahr ist, ist/wär das Ergebnis für AMD user erschreckend.
 
Zuletzt bearbeitet von einem Moderator:
Eine CPU definiert sich halt nicht nur über die Taktrate, auch wenn die Werbeindustrie uns das weiß machen will.
In deinem Fall spielt der E6300 nunmal schon rein vom Datenblatt her in einer anderen Liga, auch wenn er nominal 200 MHz niedriger taktet.

Dein Link funzt übrigens nicht
 
Eine CPU definiert sich halt nicht nur über die Taktrate, auch wenn die Werbeindustrie uns das weiß machen will.

Nicht nur in Sachen Taktraten sondern auch in Sachen Anzahl der Kernen, lassen sich viele Leute täuschen.

Deswegen ist z.B. der Intel i3 mit 3,3 GHz , obwohl er "nur" 2 Kerne hat, in Sachen Zocken derzeit der absolute Kracher. In Sachen Preis/Leistung erstrecht.
Der fährt alles Multicoregedöns von AMD straight an die Wand. Bei solch alten Spielen wie WoW erstrecht.

Intel hat sich wohl ganz bewusst dafür entschieden den Sandy Bridge i3 nicht übertaktbar zu machen, weil er ansonsten die weitaus teureren i5 + i7 in den allermeisten Spielesituationen nahezu überflüssig machen würde.


PS: Bei Ultraxion war bei mir eindeutig Recount der Grund allen Übels. Lags ohne Ende. Seitdem ich auf Skada gewechselt bin, läufts angenehm fluffig.
 
@kaepteniglo

danke fürs abändern des Links das es wieder funktioniert.

@Langsiur und Akium

Ja das stimmt natürlich. Ist nur irgendwie erschreckend. Obwohl der Athlon II entwicklungstechnisch gesehen gleich auf mit dem E6300 ist, steckt dieser den halt locker in die Tasche.
Naja, OK früher wars ja amal anders, da hatten die Athlon XP bei weniger Takt die Nase vorn. Und derzeit ist Intel AMD weit vorraus. Ein ewiges Elefantenrennen.
 
Ja das stimmt natürlich. Ist nur irgendwie erschreckend. Obwohl der Athlon II entwicklungstechnisch gesehen gleich auf mit dem E6300 ist, steckt dieser den halt locker in die Tasche.

Aber auch nur was die reine Leistung angeht. Schaut man für seine persönliche Anforderungsliste auf ein normiertes Preis/Leistungsverhältnis, dreht sich die Liste genauso um, wie die Liste zum Flugpreisvergleich in der Swoodoo Werbund

Was man aber bei der ganzen Diskussion immer nicht vergessen darf: Viele Spiele werden mit einem Intel Compiler kompiliert und gelinkt (der -an korrigiere mich, wenn das nicht mehr aktuell ist- einfach mal das Nonplusultra im professionellen Rahmen ist). Ein Schelm, wer dabei denkt, dass der Compiler keine Architekturtypischen "Verbesserungen" vornimmt
 
Och... nu ist der Eingangsbeitrag weg...

Womit hat der TE im Spiel angezeigt, wie die Auslastung von CPU und GPU ist?
 
Zurück