webmi´s DayZ Standalone (ALPHA) Performance Tipps & Tricks
1. Einleitung
Die Standalone basiert auf einer angepassten ArmA II Engine. Diese Engine ist seit jeher performancetechnisch nicht die Beste. Selbst die größten Rechner mit Multi GPU Konfiguationen und starken mehrkern CPUs bringen ungetweakt oft nur sehr wenig FPS auf den Bildschirm. Mit diesem Guide will ich meine Tipps & Tricks zusammenfassen um anderen Spielern bei der Optimierung ihrer ArmA II Engine, in diesem Fall der DayZ Standalone, behilflich zu sein. Viel kommt dabei aus der ArmA II Engine und ist deshalb ebenso auf sie übertragbar. Aber auch auf ArmA III sind einige dieser Tipps und Tricks übertragbar. Dieser Guide ist in verschiedene Bereiche Unterteilt. Generell muss man zwischen GPU und CPU intensiven Einstellungen unterscheiden. Die ArmA II Engine ist sehr CPU lastig und leider nicht sehr Multithreading freundlich. Oft werden nur max. 2 Threads richtig genutzt. Prinzipiell ist pro Core Leistung bzw der Takt der CPU also der Schlüssel zu besseren Frameraten. Einige Einstellungen hingegen sind sehr GPU lastig, ist die CPU aber bereits am Ende ihrer Leistungsfähigkeit, kann auch die GPU grafisch nicht mehr viel Leisten. Die CPU intensiven Aufgaben bremsen die GPU in ihren Möglichkeiten aus.
Nun gibt es zahlreiche Möglichkeiten, der CPU die Arbeit etwas zu erleichtern und somit auch wieder mehr für die GPU Leistung herauszuholen.
2. DayZ Standalone Config Tricks
Wie die Mutterengine ArmA, bezieht auch die DayZ Standalone div. Einstellungen aus Configdateien. Diese sind in Engine allgemeine und Profil spezifische Configs unterteilt. Bevor ihr Änderungen an den Dateien vornehmt, kopiert euch ein Backup indem ihr den kompletten Ordner
C:\Users\"USERNAME"\Documents\DayZ\ sichert.
2.1 Allgemeine Config Tricks: C:\Users\"USERNAME"\Documents\DayZ\DayZ.cfg
In der allgemeinen Datei befinden sich Rendering spezifische Einstellungen wie Auflösung und Bildrefreshrate. User eines 120Hz Monitors sollten hier die Refreshrate anpassen, das macht die Engine leider nicht von alleine.
refresh=120;
Für unseren Performancetweak ändern wir zwei Einträge wie folgt:
GPU_MaxFramesAhead=1;
GPU_DetectedFramesAhead=1;
Weiterhin gibt es einen Eintrag 3D Performance, diesen Eintrag habe ich einfach mit dem gleichen Wert wie der Standarteintrag in ArmA II OA überschrieben. Ist der Eintrag nicht vorhanden, ergänzt ihr diese Zeile einfach.
3D_Performance=100000;
2.2 Spielerprofil spezifische Config Tricks: C:\Users\"USERNAME"\Documents\DayZ\"PROFILNAME".DayZProfile
Zunächst, habt ihr ein Profil erstellt, das nicht den Namen von Steam benutzt, ihr also ein zweites Profil im Spiel habt, ändert sich die Verzeichnisstruktur etwas. Die Datei, die ihr ändern müsst, wäre dann unter:
C:\Users\"USERNAME"\Documents\DayZ - Other Profiles\"PROFILNAME".DayZProfile zu finden.
Die größere und weitaus komplexere Datei ist die, des jeweils benutzen Spielerprofils. Hier werden neben Grafikeinstellungen Profil spezifische Einstellungen wie z.B. Tastenbelegungen gespeichert.
Headbobbing kann bereits hier deaktiviert werden:
headBob=0;
Die nächste Einstellung, die wir ändern ist das Maus Smoothing:
mouseSmoothing=0;
Maus Sensitivity kann hier zahlengenau eingestellt werden:
mouseSensitivityX=0.27500000;
mouseSensitivityY=0.27500000;
Ebenso kann das FOV hier zahlengenau eingestellt werden:
fov=1.23;
Ein weiterer Performance Trick wäre die Szenen Komplexität. Diesen Wert habe ich mal von 500000 auf 300000 gesenkt:
sceneComplexity=300000;
ShadowDistance habe ich auf 100 gestellt. Je niedriger der Wert, desto mehr FPS:
shadowZDistance=100;
Die ViewDistance habe ich wie bereits in ArmA II OA auf 1600 runtergefahren:
viewDistance=1600;
Die
ObjectDistance habe ich ebenfalls auf
1600 stehen, schwächere Systeme (CPUs) profitieren hier stark von einem kleineren Wert. Der Wert legt fest, in wie vielen Metern Objekte noch gerendert werden, sehr CPU intensiv. Daher können kleinere CPUs, als meine, hier ruhig einen Wert zwischen 1000-1600 wählen. Vorsicht, ich glaube auch andere Spieler werden von dieser Änderung erfasst. Long Range Sniping über 1600 Meter ist aber für die Meisten eh auszuschließen:
preferredObjectViewDistance=1600;
Mit diesen Distance Werten könnt ihr eure CPU stark entlasten, weil sie Objekte in weiter Ferne nicht mehr berechnen muss. Stellt man diese Werte jedoch zu klein ein, verschwinden Objekte wie Häuser oder gar Spieler am Horizont einfach. Je nach PC Power und persönlichen Bedürfnis dürft ihr hier euren ganz speziellen Optimalwert rausfinden, wenn ihr wollt. Meine Werte sind lediglich eine Orientierungshilfe. Ich rate euch beim Finden optimaler Werte die Ingame Grafikeinstellungen auf ein Minimum zu beschränken (um ein GPU Limit auszuschließen). Nach den Änderungen sollten eure FPS ein gutes Stück gestiegen sein, ohne eure Weitsicht zu sehr beschränkt zu haben. Die freigewordenen Ressourcen äußern sich nun in einer höheren und vor allem stabileren FPS Rate.
3. Meine Ingame Grafiksetting Tipps
Anders als in ArmA II selbst, kann man selbst mit einem Titan 3-Way SLI nicht alles auf MAX schrauben und stabile und hohe FPS erwarten. Manche Ingame Grafiksettings sind einfach total unoptimiert und "laggy". Zwingen unabhängig von vorhandener Rechenleistung die FPS in den Keller. Mag sein, dass das dem ALPHA Status zuzuschreiben ist. Ich empfehle hier jedenfalls ein ausgewogenes Grafiksetting, je nach persönlichem Geschmack und GPU Leistung, kann hier die Grafik der Apokalypse eingestellt werden. Die freigewordenen CPU Ressourcen aus Punkt 2 lassen nun jedoch weit höhere Einstellungen zu, da diese durch die schiere Weitsicht nicht mehr so stark auf die FPS schlagen.
Ich betone jedoch deutlich, das ich hier nur meine persönlichen Präferenzen anspreche und bitte zu beachten, dass meine GPU Leistung weit über der, der meisten anderen Computer liegt.
Im Spiel unter Konfigurieren könnt ihr unter Video folgende Einstellungen finden.
3.1 Darstellungs Auflösung
Ist nichts anderes wie Ingame Downsampling. Die errechnete Auflösung liegt dabei über der nativen Auflösung des Bildschirms um mehr Qualität des gesamten Bildes zu erreichen. Ich pers. fahre hier schon mal 120-125% in der Standalone. In ArmA II OA gar 150% für 4K Resolution. Das kann ich machen, weil ich 3 GPUs habe. Wer am Ende dieses Guides seine GPU noch nicht zu 99% ausgelastet hat, kann hier auch einen akzeptablen Wert über 100% finden um die restlichen Ressourcen noch sinnvoll in Grafikqualität umzuwandeln.
3.1.1 TEXTUREN:
Ein einfaches Setting zuerst.
Grafikspeicher wie bereits bei ArmA II unbedingt auf
DEFAULT stellen, andernfalls kann evtl nicht der ganze vRam genutzt werden. Besonders da wir mittlerweile Grafikkarten mit weit mehr als dem einstellbaren Maximum von 2GB besitzen. Die
Texturdetails selbst sollten aus optischen Gründen so hoch wie möglich eingestellt werden, in meinem Fall
SEHR HOCH. Nur ganz schwache Computer (Laptops) sollten hier evtl auf
NORMAL runtergehen.
Texturfilterung frisst kaum mehr GPU Leistung und sollte aus optischen Gründen deshalb auch so hoch wie möglich eingestellt werden.
SEHR HOCH
3.1.2 BENUTZER INTERFACE:
In der
Auflösung stellt ihr eure native Desktopauflösung ein, die Auflösung, die euer Bildschirm darstellen kann. In meinem Fall 2560x1440x32. Mit
Größe ist die Größe des Interface gemeint, ich persönlich bevorzuge ein kleines und feines Interface, keine großen und klobigen Objekte. Das
Steitenverhältnis versteht sich von selbst und ist sowieso an die Auflösung eures Bildschirms gebunden.
3.1.3 QUALITÄT:
Hier wird es dann wieder spezieller und schwierig. Wie ich bereits gesagt habe, sind diese Einstellungen sehr "laggy". In ArmA II OA kann ich alles auf MAX stellen und damit meine GPUs gut auslasten. In der Standalone ALPHA brechen mir die FPS mit SEHR HOHEN Einstellungen leider zu stark ein. Mein PC sollte dabei locker in der Lage sein, wie bei ArmA II OA halt auch, alles auf SEHR HOCH darstellen zu können ohne größere FPS Einbrüche in Kauf nehmen zu müssen. In der ALPHA fahre ich aber, des flüssigen Spielgefühls zur Liebe, nicht alles auf SEHR HOCH.
Objekte können auf
NIEDRIGeinen starken FPS Boost bringen, nehmen dabei aber nur wenig Grafikqualität. Anzahl und die Qualität der Objekte in Entfernung wird damit geregelt. Leider kann auch ich, wegen der schlechten Optimierung noch nicht auch in Entfernung maximale Qualität fahren. Ich pers. fahre hier sogar nur
NIEDRIG bis
NORMAL.
Für
Terrain gilt das absolut Gleiche.
Wolken, ja Wolken, wer meint er braucht volumetrische Wolken kann sich hier die FPS gut in den Keller drücken. Man kann die Wolken natürlich auch zur Orientierung verwenden, wenn man die Map noch nicht so gut kennt. Die ziehen ja bekanntermaßen von West nach Ost. In diesem Fall reicht natürlich
NIEDRIG. Ich pers. habe die Wolken jedenfalls
deaktiviert und mir fehlt dabei absolut nichts.
Schatten, deaktivieren würde ich sie nicht. Einige machen das für PvP, ich pers. finde darunter leidet die Atmophäre zu stark. Eine
NIEDRIGE Einstellung kann auch hier die FPS stark anheben.
3.1.4 RENDERING:
Fangen wir mal unten an.
Postprocess Quality, eine Einstellung dich ich in keinem Spiel aktiviere. Es wird auf kosten von reichlich GPU Leistung eine Bloom über das Bild gelegt, was es unscharf macht und eine Art Tiefenunschärfe erzeugt. Sehr Leistungsintensiv. Die
Bloom und
Rotation Blur Regler darunter reagieren sowieso nur dann noch, wenn man Postprocess aktiviert hat. Ich pers. habe es wie gesagt aus, mag das Bild gerne schön scharf, nicht verschwommen.
Ambient Occlusion, ich weiß nicht, warum man das übernommen hat. Es macht nichts anderes als einen künstlichen Shader über die Texturen zu legen. Es frisst deart viel Leistung und sieht für meinen Geschmack auch nicht besonders toll aus, sodass sich für mich die Frage nach einem passenden Wert hier garnicht stellt.
Deaktivieren und gut.
HDR Quality, mehr als
NIEDRIG geht eh nicht, das sollte man dann auch einstellen.
Edge Smoothing, ein Punkt auf den ich später noch mit dem evtl bekannten SweetFX eingehen werde. SMAA bringt wenig erkennbare grafische Vorteile, wenn man SweetFX nicht nutzt in der Standalone, so wie ich, kann man hier
FXAA mit
High wählen. Alle anderen Werte außer
HIGH greifen irgendwie nicht, sehen also aus wie disabled. Wenn ihr auf das Gras am Boden oder auf Bäume in der Entfernung guckt, werdet ihr feststellen, dass FXAA die Texturen schön schärft. Ich pers. fahre hier
FXAA HOCH.
Mittlerweile haben wir genug Dateils auf Niedrig, jetzt wollen wir die GPU mal fordern und ihr Arbeit geben.
NORMAL sollte für
Antialiasing mindestens drin sein, ich fahre
HOCH. Je nach Auswirkung auf die FPS könnt ihr hier einen höheren Wert nehmen. Das Bild wird dadurch schön ruhig, Kanten werden geglättet und alles sieht schön "rund" und "scharf" aus.
Alpha to Coverage kennen wir auch aus ArmA II, dort hieß es noch ATOC. Ist nur mit aktiviertem Antialiasing möglich. Es macht Bäume und das Gras schön "buschig". In ArmA II fahre ich hier "nur Grass", weil mir die Tannen sonst zu flauschig werden und ich Spieler in Bäumen und Büschen möglicherweise dann nicht mehr so gut sehen kann. In der Standalone fahre ich im Moment noch
All Trees + Grass, weils einfach doch sehr schön aussieht und die Standalone PvP technisch noch nicht so die Herausforderung darstellt.
3.1.5 STEUERUNG:
Maus Glätten und
Ziel Deadzone deaktiveren bzw die Regler ganz nach Links. Wollen wir nicht. Die Beschleunigung haben wir hoffentlich in der CFG unter Punkt 1 bereits deaktiviert, auch wenn hier noch "EIN" steht. Evtl ein Bug. Unter
Zuordnungen sollte man sich dann die Zeit nehmen und die
KeyBindings anpassen. Ich habe hier viel verändert. Die Standardeinstellungen finde ich jetzt nicht so intuitiv bzw bequem. Beispiel: Sprinten habe ich mir auf SHIFT gelegt. Das Wechseln zwischen Frist- und Third Person auf die Daumentaste. Umsehen liegt auf der Leertaste, sich umzusehen ist sehr wichtig bei DayZ und ich möchte das möglichst komfortabel machen. Zeroing der Waffe liegt ebenfalls auf auf Maustasten. Hier solltet ihr einfach überlegen, was sinnvolle Einstellungen sind, die euch evtl auch im Kampf helfen. Wenn ich im Kampf bin, möchte ich nicht erst die Hand von der Maus nehmen müssen um am NumPad mein Zielfernrohr richtig auf die benötigte Distanz einstellen zu können. Nicht vergessen, auch Kombiantionen aus verschiedenen Keys sind möglich und evtl auch sinnvoll. Am Anfang zur eingewöhnung evtl umständlich, aber wenn man drin ist, gibts nichts Besseres. Ergonomie ist hier sehr wichtig um auch im PvP erfolgreich zu sein.
4. Startparameter:
Ich starte das Spiel nicht über Steam. Wie bereits für die diversen ArmA II Mods habe ich eine Verknüpfung auf dem Desktop. Dort trage ich dann auch meine Startparameter alle ein.
"C:\Program Files (x86)\Steam\SteamApps\common\DayZ\DayZ.exe" -nosplash -noPause -maxMem=8047 -maxVRAM=6024 -cpuCount=5 -exThreads=7
-nosplash (sollte das Intro deaktiveren)
-noPause (sollte den Spielstart beschleunigen)
-maxMem=8047 (Maximaler RAM für die Anwendung)
-maxVRAM=6024 (Maximaler vRAM für die Anwendung)
-cpuCount=5 (Anzahl der physikalischen Kerne -1)
-exThreads=7 (mögliche Werte 0,1,3,5,7)
In wie weit diese Parameter tatsächlich greifen bleibt für mich pers. fraglich. Eine 32Bit Anwendung kann nicht mehr als 2GB RAM nehmen. Auch arbeitet ArmA nicht plötzlich mit 12 Threads, sondern weiterhin mit max 2 Threads. Dennoch mache ich diese Einstellungen in der Hoffnung ein wenig Performance damit gewinnen zu können.
5. SweetFX
Viele kennen es. Für die Anderen, es ist eine ShaderSuite, mit der man viel an der Grafik eines Spieles verbesseren kann, indem man Farben und Schärfe nachregelt. Ich pers. verwende es bei der Standalone nicht. Führt schon bem Start der Anwendung zum Crash, habs dann auch nicht weiter probiert. In ArmA II OA bzw den DayZ Mods ist es allerdings
Pflicht. Ich hänge hier trotzdem mal meine ArmaA II OA / DayZ Mod SweetFX Config an, evtl passt sie dem ein oder anderen ja auch für die Standalone.
Aktiviert ist in der Config lediglich
SMAA_ANTIALIASING,
LUMASHARPEN und etwas
VIBRANCE. Ihr werdet sehen, das Lumasharpen nimmt dem Spiel einen milchigen Schleier von den Texturen und macht diese schön scharf und kräftig, was die Grafik im allgemeinen sehr deutlich verbessert. Ob man das dann noch mit dem Ingame FXAA zusätzlich "überschärfen" will ist fraglich. Evtl dann Ingame FXAA deaktivieren wenn man SweetFX nutzt.
Andere Werte in der Config wurden angepasst, sind aber einfach nur deaktiviert. Habe mich eine ganze Zeit lang mit HDR oder BLOOM, TONEMAP und CURVES rumgeschlagen, sie aber am Ende wieder deaktiviert. Wer die Features mit meinem Werten aber mal testen will, muss in dem Config File unter "Chosse Effects" lediglich die entsprechenden Features mit "1" statt "0" wieder aktivieren. Anbei noch der Link zum
Download der Shadersuite. Einfach den Inhalt in das DayZ Verzeichnis im Steam Ordner kopieren und ANSCHLIEßEND meine Config Datei drüberkopieren.
6. SLI Profil
Für die Standalone gibt es noch kein SLI Profil. Wer also mehrere GPUs benutzt muss tricksen. Das ist aber ganz einfach, da die Standalone ja die ArmA II Engine benutzt, reicht es, die DayZ.exe mit dem nVidiaInspector beim bestehenden Profil ArmA II OA hinzuzufügen.
Leider ist die Standalone noch nicht auf Performance optimiert, mein PC im speziellen könnte viel mehr, wie er es bei ArmA II OA bzw dem DayZ Mod bereits tut. Die Grafik in 4K Ultra Settings (bis auf Postprocessing) der ArmA II Engine ist einfach ein Traum. Real, nicht Bling Bling wie z.B. Battlefield 4. Aboslut scharf in dieser Auflösung ohne jegliche Treppchen mit einer Weitsicht... einfach Traumhaft... ich hoffe wirklich, dass ich auch in der Standalone bald so eine Grafikeinstellung fahren kann und trotzdem ordentlich FPS auf dem Bildschirm habe.
Ich habe Euch nun jedenfalls alle Stellrädchen gezeigt und erklärt, dazu meine persönliche Präferenzen genannt. Jetzt könnt ihr einzelne Settings testen und hier dann drüber diskutieren. Wer die Wall of Text hier gelesen hat, wird auf jeden Fall mit einem deutlichen FPS Boost bei wenig Bildqualitätsverlust belohnt.
Greets
webmi