Battlefield 4 - CPU Nutzung / CPU Spikes / FPS Limiter

Meeno878

Schraubenverwechsler(in)
Moin,

habe seit geraumer Zeit Probleme mit Battlefield 4. Ich benutze den Konsolenbefehl "Gametime.Maxvariablefps 65" um meine Frames festzusetzen, da für mich das Spielgefühl dann um einiges besser ist. Leider habe ich mit diesem Befehle das Problem das ich ab und zu kleine Spikes habe und die CPU Nutzung auch etwas komisch wirkt. Wie auch auf dem Bild zu erkennen. Ist es normal das die GPU Nutzung so schnell ist und die CPU Nutzung konstant bei 15,38? Wie auf dem zweiten Bild zu erknenn ist, sobald ich den Limiter rausnehme sind die beiden Werte fast gleich. Ab und zu habe ich dann aber Probleme mit CPU Spikes.

Kann man das Problem iwie lösen? Könnte es daran liegen das BF nur 2 Threads nutzt, wie auch auf den Bildern zu sehen?

Bild1: http://fs2.directupload.net/images/150328/6674cndo.png
Bild2: http://fs2.directupload.net/images/150328/kcnjgjh8.png

PC:
i5 3570k nicht übertaktet
GTX 770
Alles auf mittel, 2xMSAA, SSAO

Ich danke euch
 
Du kannst den MSI Afterburner zum FPS limitieren verwenden (genauer gesagt über den Riva Tuner der dabei ist), oder du suchst online nach der user.cfg, Dort kannst du deine wunsch FPS eingeben und das wird dann auch eingehalten.

Ich mach dir kurz die user.cfg, einfach Editor öffnen und folgenden eingeben, (das gibt auch einen kleinen fps boost).



//TheLeetFly's user.cfg for BF4 - Version: 1.1 - Date: 29.12.2013

GameTime.MaxVariableFps 145 //locked Eure fps

PerfOverlay.DrawFPS 0 //FPS anzeigen lassen


//Alles hier unten gibt Euch mehr FPS

PostProcess.DynamicAOEnable 0
RenderDevice.RenderAheadLimit 0 //Anzahl vorgerenderte Bilder [Puffer - Standard auf 3]
RenderDevice.TripleBufferingEnable 0
WorldRender.PlanarReflectionEnable 0
WorldRender.DxDeferredCsPathEnable 0
WorldRender.MotionBlurEnable 0
WorldRender.MotionBlurQuality 0
WorldRender.MotionBlurMaxSampleCount 0
WorldRender.SpotLightShadowmapResolution 256
RenderDevice.vsyncenable 0
WorldRender.Lighttilecspathenable 0


Einfach per copy/paste und -WICHTIG- als user.cfg speichern und in den Installationsordner von BF einfügen (klappt mit 3,4 und Hardline. Vieleicht sogar mit PvZ: Garden Warfare)

"GameTime.MaxVariableFps 145" natürlich deine 65 statt meine 145.

Den ganzen untern Teil ab "mehr FPS" kannst du auch weglassen wenn du willst.





EDIT weil es Leute gibt die dir in einem Shooter Vsync + Tripplebuffering aufdrängen wollen (mach es nicht, sorgt für Inputlag)

Editor (oder so) öffnen und folgendes eingeben (die Zahl, hier 65, sind deine maximal FPS, kannst du ändern wie du willst)


GameTime.MaxVariableFps 65


Speichern als user.cfg (das ist der Name den du eingeben sollst und nicht das Format das du auswählen sollst, es MUSS user.cfg heißen)
Keine änderungen außer das ein FPS Limit gesetzt wird.
 
Zuletzt bearbeitet:
da nke dafür! ist es denn normal das die cpu nutzung dann so anders ist als im vergleich zur gpu? im Idealfall sollten die beiden striche ja paralell zueiander verlaufen oder? wenn ich die frames festsetze liegt die cpu bei 15,... und die gpu bei ca 9. oder ist das völlig normal?
 
und diese ist denk ich mal angenehmer:

RenderDevice.TripleBufferingEnable 1
RenderDevice.RenderAheadLimit -1
GameTime.MaxVariableFps 59.60
PerfOverlay.DrawFps 1
PerfOverlay.DrawGraph 0
Render.DrawScreenInfo 0
RenderDevice.VsyncEnable 1
GstRender.Thread.MaxProcessorCount 4

Dazu Vsync im Spiel aktivieren!

@ Stueppi:

die 0 hinter deinen Eingaben bewirkt nicht an sondern aus.
Sprich im ersten Teil werden dann eben keine FPS angezeigt.
Die 1 ist aktiviert:daumen:


@ TE: klar sind die Frametimes absolut okay.

Bedenke: je höher die Zahl, also in deinem Fall die 15, desto niedriger die FPS.
16,xx sind eben standart die 60 FPS und deine 15,xx dann eben die 65 FPS.

Die GPU ist in den Momenten also in der Lage nahezu 100 FPS darzustellen :)
 
RenderDevice.TripleBufferingEnable 1 + Vsync... na dann viel spaß mit dem Inputlag. Wer spielt denn so vernünftig Shooter?

Die Nullen (0) sollen dazu dienen Dinge zu deaktivieren weil es ein FPS Boost sein soll und nix anderes. Man kann nätürlich auch PerfOverlay.DrawFPS 0 auf 1 stellen, aber dann hat man dauernd die FPS angezeigt, dafür gibts einfachere Methoden.
Man kann aber auch den ganzen Kram weg lassen und NUR "GameTime.MaxVariableFps 65" in die user.cfg schreiben, dann verändert sich garnix außer das es ein FPS Limit gibt.



Man kann auch den ganzen Kram hier weglassen (nein ernsthaft, Vsync + Tripplebuffering in einem Shooter? WTF!) und, wie oben schon geschrieben, den MSI Afterburner benutzen.
Man kann sich da auch fast alles anzeigen lassen, dieser Graph ist sowieso unnötig außer das es Professionell aussieht (aussehen soll).
 
Zuletzt bearbeitet:
Lieferte bei mir das beste Ergebnis.

Außerdem was die meisten nicht wissen:
durch "RenderDevice.RenderAheadLimit -1" wird verhindert das obwohl Tripplebuffering aktiv ist, eben kaum Inputlag entsteht, weil nur ein das aktuelle Bild gerendert wird, und nicht schon 2 oder 3 im Vorraus.

Desweiteren durch das Begrenzen der FPS auf 59,60 bzw 59,94 wird Vsync ausser Kraft gesetzt, obwohl es aktiv ist.
Ich hatte ohne diese Befehle ständig Tearing oder Stuttering. Und das ist äußerst shice!

Spielst du allerdings auf niedrigeren Settings, so das du stets über 103 FPS erzielst, dann kann man das alles getrost vernachlässigen, weil das Stuttering dann eben nicht auftritt.

Ich spiele auf Hoch - Ultra und bin zufrieden wenn ich immer! über 60 FPS habe.


Man kann hier vieles hin und her diskutieren, und das beste ist einfach wenn der TE mal die Befehle in seine User.cfg eingibt, sein Spiel startet und dann selber entscheidet was ihm am meisten zusagt, oder? :daumen:
 
Wenn du auf qualität Spielst ist das so wohl gut, ich spiele auf high fps (144Hz) um den geringst möglichen inputlag und ein maximal flüssiges Spiel zu haben. Das der Schatten dann nicht die perfekte Schärfe hat juckt mich dann auch nicht weil ich nicht drauf achte.

Ansonsten kann ich nicht laut genug den MSI Afterburner empfehlen. Man kann FPS limitieren, ein on Screen Display anzeigen lassen und sogar Aufnehmen fast wie mit Dxtory (Codec, Einstellungen, mehrspuriger Sound etc.) ohne das man das bezahlen muss.
 
Mal unpark CPU cores machen.

Dann wegen der User. Cfg bei lostaiming bei YouTube schauen oder xfactor.

Die haben die besten User. Cfg.

Niemals vsync und trinke Puffer benutzen sondern nur den User. Cfg Befehl um einen fps limiter zu benutzen.
 
kannst du mir mal deine Settings posten bitte?
und was für Hardware hast du alles @ stueppi

i7 4790k @4,4
gtx770 @1293/1800
8gb 1333er Ram

Settings sind alle auf low oder aus außer Texturen, AF, Gitterquali (medium oder hoch, ka) und MSAAx2.
Keine Bewegungsunschärfe, FOV 70 und natürlich 1080p.
 
@dragon amd wie genau funktioniert das mit dem unpark?
@all habt ihr gelgentlich denn auch mal kleine cpu spikes? also so alle paar minuten oder auch mal nur alle 140 min? ist wohl in problem von bf4 oder?
 
Ehrlich gesagt ich glaube du leidest unter einem Placeboeffekt. Du bildest dir ein das du Leistungsprobleme durch diese Spikes hast nur weil du diese Spikes siehst.
Wenn du ohne diesen Graphen spielst wirst du schnell merken das da nix ist, besonders bei über 160 fps nicht. Diese Spikes sind nichts weiter als ein kurzer Moment in der die CPU mehr zu tun hat und kurz limitiert.
Fixiere deine FPS mit der user.cfg oder mit dem dem Tool MSI AB (schon tausend mal empfohlen).
Core Unparking musst du nicht, wenn du keine virtuellen Kerne hast, wie beim i7 oder bei AMD FX CPU, wird auch nichts geparkt.
 
Ehrlich gesagt ich glaube du leidest unter einem Placeboeffekt. Du bildest dir ein das du Leistungsprobleme durch diese Spikes hast nur weil du diese Spikes siehst.
Wenn du ohne diesen Graphen spielst wirst du schnell merken das da nix ist, besonders bei über 160 fps nicht. Diese Spikes sind nichts weiter als ein kurzer Moment in der die CPU mehr zu tun hat und kurz limitiert.
Fixiere deine FPS mit der user.cfg oder mit dem dem Tool MSI AB (schon tausend mal empfohlen).
Core Unparking musst du nicht, wenn du keine virtuellen Kerne hast, wie beim i7 oder bei AMD FX CPU, wird auch nichts geparkt.
Natürlich wird da was geparkt. Mein in 3570k wird geparkt von meiner Freundin der AMD 5000 Serie wird geparkt. Das liegt nicht an der CPU sondern am Windows. Egal ob Vista, 7,8,8.1.

Mfg
 
Aber doch nicht in BF3/4/Hardline. Mein i5 wurde nie geparkt, nur mein fx6300 und mein i7 und da auch nur die Virtuellen Kerne durch SMT und Module. Parken in Spielen hast du nur wenn ein Spiel nicht auf MT ausgelegt ist, dann werden die virtuellen geparkt, aber der i5 hat keine virtuellen und es werden sowieso 4 und mehr Kerne genutzt.
 
@ Stueppi Danke für die Antworten. Aber sobald ich die Spikes ehen, merke ich auch einen Unterscheid im Spiel --> Microruckler, Lags usw, die FPS ist davon meistens nicht betroffen. Das wundert mich halt, weil ich meine Frames ja schon auf 35 limitiert habe. Normalerweise dürfte die CPu doch gar nicht so sehr beanprucht werden... Bei 65 Frames sind ist doch auch drchaus noch viel Potenziel vorhanden, aber ich habe das Gefühl das die CPU durch den limiter gedrosselt wird und dann in solchen Momenten nicht hinterher kommt...
 
Du kannst ja mal spaßeshalber versuchen die Energiespaareinstellung von Windows auf höchstleistung zu stellen damit die CPU nicht mehr runter takten kann. Wenn du deine Spikes dann immer noch hast liegt es nicht am Takt der CPU sondern am Spiel.
 
Es liegt auch definitiv am Spiel.
Höchstleistungsmode, C&Q deaktivieren etc. brachte bei mir alles keinen Erfolg.

Ist ja auch erst seit dem letzten Patch wieder so miserabel erst. :wall:
 
Zurück