Poniżej pokażę wszystko tak jak ja mam ustawione. Dzięki temu będziemy mieć stabilny system i stabilnie działającą grę.
Proponuję zrobić sobie to wszystko w takiej właśnie kolejności :
a) Origin
1. uruchomienie Origin jako administrator (jak ktoś z samym Originem nie ma problemów, polecam zostawić tak jak jest ustawione).

2. wyłączenie opcji "Włącz Origin w grze"

b) System
1. Wykonanie tzw. "clean boot"
Windows 8 : http://www.tomshardware.co.uk/faq/id-1656449/clean-boot-windows.html
Windows 7 : http://helpdeskgeek.com/windows-7/perform-a-clean-boot-in-windows-7/
Zostawiamy oczywiście wszystkie usługi programów niezbędnych do gry (origin, Shadowplay, Punkbuster, sterowniki itd.) U mnie wygląda to mniej więcej tak :

2. Wyłącznie z autostartu wszystkich zbędnych programów. Zostawienie tylko tego co nam niezbędne do grania. U mnie wygląda to tak :

Do autostartu dostajemy się poprzez :
Windows 7 : Start --> Uruchom --> wpisujemy msconfig
Windows 8 : Menadżer zadań --> zakładka Uruchamianie. Ja mam tak :

Na czas grania pomimo tego że na kompa nie narzekam wyłączam zupełnie antywirusa.
3. Wyłączenie w systemie Aero bądź ustawienie klasycznego wyglądu systemu.
4. Próbkowanie dźwięku. Polecam pokombinować trochę z tym. Bardzo dużo ludzi miało problem z BFem właśnie przez to :

Zobaczyć jaką mamy wartość, obniżyć bądź zwiększyć jakość, jak nie pomoże to na inną.
c) Battlefield
1. Po pierwsze i najważniejsze zaczynamy od naprawienia plików BF4 (najlepiej zrobić czystą instalację) :

2. Uruchamiana bf4.exe jako administrator
3. Właściwości Battlefield 4 w Origin :

4. Moje ustawienia graficzne po krótce : wszystko na Low oprócz siatki i tekstur, to mam na Ultra.
Rozdzielczość ustawiamy z takim odświeżaniem jak mamy monitor.
5. Config
Tworzymy sobie gdzieś na pulpicie plik o nazwie "user.cfg", wklejamy do niego tą zawartość :
[nfo]PerfOverlay.DrawFps 1
PerfOverlay.DrawGraph 0
PerfOverlay.Enable 1
PostProcess.BlurMethod 0
PostProcess.DofMethod 0
PostProcess.DynamicAOEnable 0
PostProcess.DynamicAOMethod 0
Render.DrawScreenInfo 0
Render.VSyncFlashTestEnable 0
RenderDevice.Dx11Dot1Enable 0
RenderDevice.Dx11Dot1RuntimeEnable 0
RenderDevice.Dx11Enable 0
RenderDevice.TripleBufferingEnable 0
RenderDevice.VSyncEnable 0
Screenshot.Format png
UI.DrawEnable 1
WorldRender.DxDeferredCsPathEnable 0
WorldRender.FxaaEnable 0
WorldRender.LightTileCsPathEnable 0
WorldRender.PlanarReflectionEnable 0
WorldRender.SpotLightShadowmapEnable 1
WorldRender.SpotLightShadowmapResolution 64
WorldRender.TransparencyShadowmapsEnable 0
WorldRender.MotionBlurEnable 0
WorldRender.MotionBlurForceOn 0
WorldRender.MotionBlurFixedShutterTime 0
WorldRender.MotionBlurMax 0
WorldRender.MotionBlurQuality 0
WorldRender.MotionBlurMaxSampleCount 0
Gametime.maxvariablefps 120
GstRender.Thread.MaxProcessorCount 4
NetworkPerfOverlay.GraphPos (1920,300)[/nfo]
Polecenia :
GstRender.Thread.MaxProcessorCount 4 – gdzie "4" to liczba rdzeni naszego procesora
Gametime.maxvariablefps 120 – lockowanie fpsów, ustawiać wartość taką jak refresh rate monitora.
Zapisujemy i wrzucamy do folderu z grą.
W razie pytań - walić śmiało :-)