Page 1 of 1

How To: FPS in Raids erhöhen

Posted: Mon Sep 10, 2018 2:39 pm
by Aedin
Da immer wieder mal über zu niedrige fps in raids geklagt wird und ich damit bis zu meinem Hardwarewechsel im Frühjahr auch extreme Probleme hatte, möchte ich hier kurz die effektivsten Wege vorstellen, die ich gefunden habe, um die Bildrate auch mit "schlechter" Hardware auf ein erträgliches Niveau zu heben.

Zunächst muss gesagt werden, dass die Engine auf der WoW basiert mittlerweile ziemlich in die Jahre gekommen ist und deshalb ziemlich ineffizient ist, was die Auslastung der Hardware (speziell der CPU) angeht. Diese Tatsache hat sich über die letzten drei Addons noch deutlich verstärkt.

Das Problem ist, dass WoW nicht in der Lage ist mehr als zwei Kerne wirklich effizient auszulasten und davon auch nur einen zu 100% und einen zweiten zu etwa 70-80%. Dies bildet einen Flaschenhals, der die Bildrate limitiert. Die Grafikkarte spielt eine untergeordnete Rolle, da WoW bis auf wenige Dinge wie Schatten+SSAO im Prinzip keine großartigen die GPU belastenden Optionen zur Verfügung stellt. Zur Verdeutlichung: Es gab es mal auf Youtube ein Video (das ich leider nicht mehr finden kann), wo jemand zu WoD Zeiten mit einer 8 Jahre alten GPU und einem modernen Prozessor in Ogrimmar Bildraten von über 100 fps erreichen konnte.

Nachtrag: Nicht das Video, das ich eigentlich meinte, aber im Grunde genommen zeigt es das Gleiche.


Ziel ist es also möglichst viel CPU Leistung freizuschaufeln, um die Bildrate anzuheben.
Hierzu gibt es Im Grunde drei Wege auf die ich einzeln eingehen möchte:

1. Grafikoptionen optimieren
2. Addons deaktivieren
3. Hardware optimieren / zielgerichtet übertakten

1. Grafikoptionen optimieren

Voranstellen möchte ich dieses Video:



Folgende Optionen entlasten die CPU meiner Meinung nach am meisten und sollten daher bei fps Problemen gesenkt werden:

1. View Distance / Ground Clutter / Environment Detail: 5-6 braucht man in Raids eh nicht!
2. Anti Aliasing - Aus oder FXAA low
3. Outline Mode: Aus oder low
4. V-Sync + Triple Buffering (unter Advanced): Aus / Aus
5. Particle Density: Low oder Fair
6. Liquid Detail: Low oder Fair

Bei den übrigen Optionen konnte ich keinen oder kaum einen Effekt feststellen.
In extremen Fällen kann es auch helfen die Auflösung unter die native Auflösung des Monitors zu setzen, das sollte aber immer der allerletzte Schritt sein.


2. Addons deaktivieren

Ich habe es zunächst auch nicht für möglich gehalten wie sehr einige Addons die Bildrate nach unten verschieben.
Die Schlimmsten "Sünder" hierbei sind Addons, die ständig irgendwas im Hintergrund machen, wie z.B. NPCScan, Raidframeaddons wie VuhDo, Rotationshelfer wie Hekili oder Ovale Spell Priority und Auktionshausaddons wie Tradeskillmaster oder Auctioneer. Manche Addons, wie z.B. Hekili bieten die Option an, die "Refresh Rate" pro Sekunde rauf oder runterzusetzen. Sofern man keine Reaktionstzeit von <0,2 Sekunden hat, kann man diese i.d.R. etwas herabsetzen.

Am einfachsten findet man übrigens seine Übeltäter mit folgendem Addon:

https://www.curseforge.com/wow/addons/addons-cpu-usage

Ich konnte damals unter meinem alten 8-Kerner (AMD FX-8350) durch gezieltes Abschalten ca. 5-6 fps mehr gewinnen, was bei vorherigen Bildraten von teilweise 15-20 eine ganze Menge ist.

3. Hardware optimieren / zielgerichtet übertakten

Kurz und knapp: AMD verliert, Intel gewinnt.

Beim Antoran High Command Encounter hatte ich trotz aller vorhergehenden Schritte mit Bildraten zwischen 15 und etwas über 25 zu kämpfen, mit zwischenteitlichen Drops (z.B. beim Pull) unter 10. Durch Übertaktung habe ich das ganze auf relativ konstante 30-35 bekommen.

Wichtig zu wissen ist, dass AMD CPUs eine im Vergleich zu vergleichbaren Intel Prozessoren eine vergleichweise niedrige Rechenleitung pro Kern vorweisen. Das ganze drückt sich u.a. in dem IPC-Wert (Instructions per cycle) aus, also der Anzahl von Operationen, die pro CPU Takt durchgeführt werden können, aus. Optimierbar ist das ganze leider nur per Übertaktung.

Wer sich nicht mit dem Thema auseinandersetzen möchte, sollte den nachfolgenden Abschnitt einfach ignorieren, oder über den Kauf eines aktuellen Intelsprozessors nachdenken.

Zwar macht AMD einem das Übertakten per multiplier generell leicht, allerdings bringt die Anhebung aller Kerne im speziellen Fall (schlechte Auslastung mehrerer Kerne/ schlechte IPC) generell wenig, bis gar nichts.
Daher musste ich etwas "spezieller" vorgehen, um einerseits nicht die Multithreading Fähigkeit einzugrenzen und trotzdem die Single Core Perfomance anzuheben. Gesucht war quasi das Beste aus beiden Welten.

Die Lösung findet sich in der Übertaktung des Turbo_Cores (AMD) bzw. Turbo_Boosts (Intel).
Diese beiden Begriffe bezeichnen im Grunde genommen dasselbe, nämlich die Fähigkeit des Prozessors die Taktrate einzelner Kerne anzuheben, wenn die übrigen Kerne nicht oder nur wenig gebraucht werden. Das ganze kann soweit getrieben werden, wie der Kühler noch in der Lage ist die Wärme vernünftig abzuführen.

Die alleinige Anhebung des Turbo Core multipliers bringt für sich alleine genommen schon viel, man kann das ganzen aber noch weiter optimieren indem man den Systembus miteinbezieht. Hierzu wird zunächst die CPU Ratio herabgesetzt und der Systembus angehoben, sodass die Speicherfrequenz des Arbeitsspeichers möglichst genau getroffen wird. In meinem Falle waren es z.B. 233 Mhz Systembus (gegenüber 200 Mhz @ Stock), die es mir erlaubt habe innerhalb des thermischen Limits meiner Kühlung, den Speichertakt von eigentlich 1866 Mhz mit nun 1864 Mhz ziemlich exakt zu treffen. Das Ganze sah dann bei mir wie folgt aus:

http://prntscr.com/ksprr1

Die Kerne 1+2, die WoW auslastet liefen nun im Turbo statt auf 4,2 Ghz auf satten 4,9 Ghz, während der Systembus gleichzeitig mehr Instruktionen pro Takt zur Verfügung stellte.

Im Resultat konnte ich auf diesem Weg meine Single Core Perfomance um 17% erhöhen, während die Multithreading Perfomance ebenfalls um satte 12,5% gesteigert wurde, was sich im o.g. fps Gewinn ausdrückt. Den CPU Multiplier habe ich später übrigens wieder herabgesetzt, da ich die Multithreading Perfomance eigentlich nie gebraucht habe und sich dies nur in einem erhöhten Stromverbrauch niederschlägt. Den TurboCore habe ich statt auf Auto, dann einfach entsprechend festgelegt, um die o.g. Taktwerte zu erzielen.

Generell soll dies hier aber nur als Beispiel dienen, was mit Overclocking erreicht werden kann. Was mit eurem Prozessor/Kühlung möglich ist, müsst ihr leider selber herausfinden :clown:

Re: How To: FPS in Raids erhöhen

Posted: Mon Sep 10, 2018 6:50 pm
by Zoppi
Ich finds lustig, wie ich ab dem 2. Teil gar nichts mehr verstehe :lemming:

Re: How To: FPS in Raids erhöhen

Posted: Mon Sep 17, 2018 4:47 am
by Aedin
4. Nachtrag

Es existiert die Möglichkeit per /console die Grafikoptionen über die Standardmöglichkeiten im Spiel hinaus zu verändern, was die fps positiv beeinflussen kann. Um die Konsole zu aktivieren geht ihr zunächst in den Bnet Launcher, klickt unter dem WoW logo auf Optionen --> Spieleinstellungen --> Haken bei "Zusätzliche Befehlszeilenargumente" setzen --> Dort "-console" eintippen. Fertig.

Die Befehle weiter unten werden dann einfach im Spiel im Chat eingefügt und ausgeführt (alternativ geht das auch über die config.wtf im WoW Ordner, aber per Befehl ist es m.M. einfacher).

WICHTIG: Damit alle Änderungen aktiv werden muss das Spiel nach dem aktivieren neu gestartet werden. Ich würde außerdem unbedingt empfehlen vorher eine Kopie eurer config.wtf (im Ordner WTF) anzulegen, falls es wider Erwarten Probleme geben sollte.

Hier mal als Beispiel drei Befehle inkl. der Beschreibung, was die Option tut:

/console skycloudlod 1-3: Verändert den Detailgrad der Wolken / des Himmels
/console showfootprintparticles 0 oder 1: Deaktiviert oder aktiviert Parikeleffekte an Fußspuren (z.B. "Staub")
/console hwPCF 0 oder 1: Deaktiviert oder aktiviert bessere Schattenfilterung
/console SkySunGlare 0 oder 1: Schaltet Strahleneffekte ganz ab oder an
usw.

Was man außerdem noch alles anstellen kann, findet ihr >hier< (funktionieren nicht mehr alle) und >hier<
Besonders hervorzuheben ist der m2Faster Befehl:

/console m2Faster - Wert 0 bis x mit x=Anzahl eurer CPU-Kerne -1. Also z.B. für Quadcore: 4-1=3

Hierzu Zitat Blizzard:
Der neue Programmcode nutzt eine Technik für die Darstellung von Szenen in denen viele Spielfiguren auf einmal gezeichnet werden müssen. Technisch gesprochen versuchen wir zu verhindern, dass der Vertex-Shader bei der Verarbeitung eines einzelnen Frames zu oft umprogrammiert werden muss. Bei Systemen, die über keinen Vertex-Shader verfügen oder bei denen die Shader deaktiviert sind, wird diese Änderung keinerlei Effekt haben.

Bei internen Tests konnten wir zu Zeiten, zu denen Stormwind gerammelt voll war eine Zunahme der Bildrate von bis zu 30% feststellen – abhängig vom eingesetzten Betriebssystem, der CPU und GPU und dem Inhalt der Szene. Bestimmte GPUs profitieren hierbei weitaus mehr von der Veränderung als andere.

und:
  • Reduces the unique number of vertex shader permutations that we will choose to use in rendering
  • Sorts the drawing of items in the scene a little differently to reduce the number of times we re-program the vertex shader hardware.
Weitere Optimierungsmöglichkeit bringen zwei Programme mit sich:

1. TimerResolution 1.2

Beschreibung findet sich unter dem Link:
TimerResolution is an application to change the resolution of the default windows timer. The standard timer on Windows XP can vary between 10 and 25 milliseconds. Therefore if your code (=WoW) uses a timer or sleep value less than the timer resolution on your system you won't be getting the results you expect.
Oder einfacher gesagt: Das Programm verringert die Latenz zwischen Hardware, OS und aktueller Anwendung.
Einfach installieren, starten, auf "maximum" klicken, WoW starten und beim beenden wieder auf "default" zurückstellen. Man sollte keine Wunder erwarten, aber Schaden kann es nicht.

2. CPU core parking manager v3

Energiesparplan auf Höchstleistung setzen und alle Schieberegler auf 100%.
Bewirkt, dass eure CPU unter variabler Last nicht ständig rauf- und runtertaktet und einzelne Kerne nicht mehr abgeschaltet werden. Erhöht den Stromverbrauch zwar etwas, verringert aber auch lags, wenn plötzlich viel passiert (z.B. Pull, HT, Phasenwechsel).

Re: How To: FPS in Raids erhöhen

Posted: Wed Sep 19, 2018 9:51 pm
by amy
hui, du hast dir ja richtig arbeit damit gemacht. Fleißaedin ;-)