Hey cheukhei28, I´m in a similar situation with multiplayer but my FPS are good, I struggle with framedrops/lagspikes.
Like you, I tried everything, changed settings, and so on..
But to be honest, everyone knows you shouldn´t have to to that..
But well, in Battlefield games you will try everything that allegedly helped someone ^^
Like I said, I did that, too :D (with the last four battlefield games :D)
But it is a software issue and the best thing you can do is to reset everything to default that you changed and be patient.
What you can do in the meantime:
Type "perfoverlay.drawgraph 1" and "perfoverlay.drawfps 1" in the console, which will show you your CPU´s and GPU´s frametimes (time the CPU/GPU needs to render one single image which you see 60 of in one second when you use a 60Hz monitor, and which you will see 144 of in a second if you play a game at a 144Hz monitor and so on)
And then with the graphs and the FPS shown, just be ingame some time (do that with single- and multiplayer) and watch for those extreme spikes..
Whenever I feel a drop in the framerate, my frametimes go up ridicuously high (over 1800ms CPU and over 450 ms GPU)..
And that is one point you just can´t talk down like "your CPU is too weak" :D
But there it got interesting for me..
before I knew about the frametime-graph, I only felt the framedrops in multiplayer, but today I saw that they also happen in singleplayer (seems like my framedrops in SP are WAY shorter so I never really felt them)
My specs:
i5 7600k, 16GB RAM, GTX 970
I play multiplayer on lowest settings in FHD at DX11.
Tried every "fix" you can find in forums, the best I get is mid 90 FPS in multiplayer, but then there are the drops to mid 70 FPS (which always feel like drops to 15 FPS)..
I use a 144Hz monitor so I really care about high framerate, but if I cap it to 60Hz, everything is fine, not ONE dropped frame..
So all answers I get in discussions or a forum is "CPU bottleneck, buy an i7"
Sry for the long text, but I am very interested in this topic.. Mainly because