Use this console command to limit FPS in Battlefield 3

Why would you want to limit your frame rate in BF3? More FPS is better, right? Not always.

Let’s say your PC is capable of averaging 70 FPS. Most monitors are limited by a refresh rate of 60Hz, which means it’s really only showing you 60 FPS.

Your graphics card(s) will still pump out 10 extra frames per second, even though you don’t see them on your monitor. A system that is running at full load will draw more electricity, produce more heat, and require the fans to run faster/louder.

If you limit your frame rate to 60 FPS, that’s all your computer will render. Your PC will no longer need to run at full load if it’s capable of producing more than 60 FPS at any given time. This means less power, heat, and noise.

First, you should display your FPS ingame. To do so, press the tilde ( ` ) key. Type the command render.drawfps 1 and press Enter. Your framerate will appear at the top right.

If your PC is fairly high-end, you will see the frame rate exceed 60 FPS some of the time you’re playing. This happens most when you’re inside a building without much action going on.

To limit your frame rate, type gametime.maxvariablefps 60 in the console and press Enter. From that point on, the FPS number in the top right should never exceed 60. Your video will look just as good as before, but with less of a load on your PC.


  1. How do you set FPS back to unlimited?

    • You can simply type “gametime.maxvariablefps 100” or an even higher number to increase the limit. While not unlimited, you can choose a number higher than what your PC can render.

  2. Very usefull. Thank you!!!

  3. You can also as an additional note make it so that you don’t have to keep typing by adding a user.cfg file to your games directory assuming there isnt one already and place that line and any other console commands you wish to run at game start up to it.
    So render.drawfps 1 for eg.

  4. When this command is enabled screen tearing is worse than ever, i prefer vsync on with no screen tearing and can put up with a little bit of mouse lag

    • This is the first time I’ve heard of this being an issue when using the frame limiter, so it may be an issue with your particular video card. If vsync works well for you, go with that, but many people have a problem with the framerate being reduced to 30 fps if your video card can’t render 60 fps at a given moment.

      • For 60 to 30 fps drops there is a solution called triple buffering ( Renderdevice.triplebufferingenable 1) and it should be used in combination with vsync. That is if you dont wanna tearing…

  5. VersatileWeapon says:

    I have a EVGA GTX 780, I7 4770, and 16 G memory. At my current settings I average 140-150 fps, with an occasional dip to 80-100. I tried limiting my fps to 120 to match my monitor. I get 120fps at times, but it is usually much lower and even dips as low as 30-40. It is running very poor! All driver and bios have been updated. No over clocking…yet.Any ideas?

    • So the frame rate only dips when you have gametime.maxvariablefps 120 set? If so, I’ve not heard of anyone having that problem so I’m not sure what the cause would be.

  6. Ivan Ivanov says:

    THANK YOU SOOO MUCH !!! I wanted to limit my BF3 to 60fps like i am playing with VSYNC, its less noisier, less power consumption, awesome :)

  7. oskar berge says:

    hey, im think i maby have a problem i got like 29-46 fps and i think my gaming laptop can do more than that! and the commends like “gametime.maxvariablefps 100″ and “render.drawfps 1” dose not do anything! is it more commands to boost the fps? or like fps unlocker or something?


Leave a Comment