PDA

View Full Version : Guide to fixing poor Bulletstorm frame rate. (resolution issue)


Elvaen
02-28-2011, 03:04 PM
April 30th Update: The 4/29/2011 patch of Bulletstorm appears to have resolved the issues which required using this workaround. You should now be able to play without frame lag in "odd" resolutions such as 1680x1050.

Note: This guide is current for the version of Bulletstorm available on the PC via Steam as of 2/28/11. Most likely this issue will be patched in a future release of the game.

The "divisible by 8" resolution issue.
Bulletstorm was optimized for consoles which typically run at either 720p (1280720) or 1080p (1920x1080), the vertical and horizontal component of these resolutions are both multiples of 8.

A lot of PC gamers use monitors with a native resolution that is not divisible by 8 (a few examples: 1680x1050, 1600x900, 1440x900 and 1366x768) and these resolutions cause severe performance issues for the current version of Bulletstorm.

By switching your display to a resolution where both the vertical and horizontal component of the resolution is a multiple of 8 your frame rate should go up pretty dramatically.

Step 1: Disable resolution scaling for your display.

Note 1: This will result in any resolution less than your maximum native resolution being centered in your monitor with black borders rather than being scaled to fill your monitor; scaling often causes blurring and distortion on LCD (flat panel) monitors.
Note 2: This option is only available for monitors connected via digital connection such as DVI.

Note: These nvidia instructions are written for driver version 266.58
nvidia Cards

Open nvidia control panel
Go to the "Display" section.
Go to the "Adjust desktop size and position" subsection.
In the section about scaling select the "Do Not Scale" option.


Note: These ATI instructions are written for Catalyst version 10.11
ATI Cards

Open the Catalyst Control Center. Switch to advanced mode if you're not already in advanced mode.
Set your resolution to anything below your native resolution via the "Desktop Properties" section.
Go to the "Desktops & Displays" section.
Right-click the miniature icon of your monitor in the lower portion of the screen and click the "Configure..." menu item.
Check the "Enable GPU scaling" box and select "Use centered timings". Apply your changes.
Restore your native resolution settings. Even though the scaling controls now appear greyed out and the "Scale image to full panel size" appears grey-selected your changes will still take effect at lower resolutions.


Step 2: Create a custom resolution that satisfies the "multiple of 8" requirement.

Note: I have a native resolution of 1680x1050 and so I choose to create a custom resolution of 1680x1048 (which is divisible by 8) and only costs me 2 pixel-rows of screen real estate.

nvidia Cards

Open nvidia control panel
Go to the "Display" section.
Go to the "Change resolution" subsection.
In the main window click "Customize".
Click "Create custom resolution..." and enter the desired resolution (1680x1048).
Test the custom resolution and if it all checks out click OK.


Note: ATI cards requires editing your registry in order to add a custom resolution, please proceed at your own risk.

ATI Cards

Follow this guide: http://www.ehow.com/how_7649449_add-custom-resolution-ati.html
I was unable to find an exact match between the 2D Driver Path and my registry, but I did find only a single entry under:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Video\

That contained the "DALNonStandardModesBCD1" key, and so that's where I made my modifications. Once I rebooted my system recognized the new resolution (and so did Bulletstorm).


Remember, the important concept here is that you create a custom resolution where both the horizontal and vertical dimensions are divisible by 8. 1680x1048 is what you'll want to use if you have a 22" monitor with a native resolution of 1680x1050, but for those of you with other sizes you'll need to find your own resolution to use.

Step 3: Load Bulletstorm and select your new custom resolution in-game.

You should notice a marked improvement in frame rate.

With all graphics settings maxed out I went from 30fps to the frame cap of 62fps with my ATI 5970.


Other useful threads for understanding the issue better:
http://forums.steampowered.com/forums/showthread.php?t=1773506
http://forums.steampowered.com/forums/showthread.php?t=1771142

References:
http://www.ehow.com/how_7649449_add-custom-resolution-ati.html
http://techreport.com/forums/viewtopic.php?f=3&t=68072
http://forums.epicgames.com/showthread.php?t=764944

wonderpookie
02-28-2011, 04:42 PM
This is a good thread.

Just to clarify a tad little something... the issue isn't actually with 16:10 ratios as opposed to 16:9 ones, but resolution numbers that aren't exactly divisble by 8 (game runs poorly) versus those which are exactly divisble by 8 (game runs well). I think it just so happens that the majority of resolutions divisble by 8 end up being 16:9 aspect ratios.

MY EXAMPLE... I'm running @1920x1200 (16:10) resolution. 1920 and 1200 are exactly divisble by 8... and my game runs with a nice fps on the whole. When I drop the resolution to the next one down, 1680x1050 (16:10) the fps is now shockingly poor, when you'd expect it to be better!... 1680 exactly divisible by 8, 1050 is not!

An unusual feature for sure! Never seen this happen in games before!

A great thread which I'm sure will help many people fix their fps problems, gd job!

Ohlalala
02-28-2011, 05:18 PM
someone should stick this thread

Mgp
02-28-2011, 08:58 PM
Yes, they should. repped elvaen cheers.

I didn't know bout this issue until yesterday. My i7 + gtx 295 had to play with AA turned off, now at x8 it's smooth as it should be @ 1680 x1048 res. BTW I went straight to step 2 and had no problems whatsoever, can't notice any stretching.

sadinkaraga
03-01-2011, 12:18 AM
Note: This guide is current for the version of Bulletstorm available on the PC via Steam as of 2/28/11. Most likely this issue will be patched in a future release of the game.

The Aspect Ratio Problem
Bulletstorm was optimized for consoles which typically run at either 720p (1280720) or 1080p (1920x1080), both of which have an aspect ratio of 16:9. Both vertical and horizontal components of these resolutions are multiples of 8.

A lot of PC gamers use monitors which have a native resolution with an aspect ratio of 16:10 (1680x1050, 1600x900, 1440x900 and 1366x768), these resolutions are not divisible by 8 and cause fairly severe performance issues for the current version of Bulletstorm.

By switching your display to a resolution where both the vertical and horizontal component of the resolution is a multiple of 8 your frame rate should go up pretty dramatically.

Step 1: Disable resolution scaling for your display.

Note 1: This will result in any resolution less than your maximum native resolution being centered in your monitor with black borders rather than being stretched to fill your monitor which causes blurring and distortion.
Note 2: This option is only available for monitors connected via digital connection such as DVI.

Note: These nVidia instructions are written for version 266.58
nVidia Cards

Open nVidia control panel
Go to the "Display" section.
Go to the "Adjust desktop size and position" subsection.
In the section about scaling select the "Do Not Scale" option.


Note: These ATI instructions are written for Catalyst version 10.11
ATI Cards

Open the Catalyst Control Center. Switch to advanced mode if you're not already in advanced mode.
Set your resolution to anything below your native resolution via the "Desktop Properties" section.
Go to the "Desktops & Displays" section.
Right-click the miniature icon of your monitor in the lower portion of the screen and click the "Configure..." menu item.
Check the "Enable GPU scaling" box and select "Use centered timings". Apply your changes.
Restore your native resolution settings. Even though the scaling controls now appear greyed out and the "Scale image to full panel size" appears grey-selected your changes will still take effect at lower resolutions.


Step 2: Create a custom resolution that satisfies the "multiple of 8" requirement.

Note: I have a native resolution of 1680x1050 and so I choose to create a custom resolution of 1680x1048 (which is divisible by 8) and only costs me 2 pixel-rows of screen real estate.

nVidia Cards

Open nVidia control panel
Go to the "Display" section.
Go to the "Change resolution" subsection.
In the main window click "Customize".
Click "Create custom resolution..." and enter the desired resolution (1680x1048).
Test the custom resolution and if it all checks out click OK.


Note: ATI cards requires editing your registry in order to add a custom resolution, please proceed at your own risk.

ATI Cards

Follow this guide: http://www.ehow.com/how_7649449_add-custom-resolution-ati.html
I was unable to find an exact match between the 2D Driver Path and my registry, but I did find only a single entry under:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Video\

That contained the "DALNonStandardModesBCD1" key, and so that's where I made my modifications. Once I rebooted my system recognized the new resolution (and so did Bulletstorm).


Step 3: Load Bulletstorm and select your new custom resolution in-game.

You should notice a marked improvement in frame rate.

With all graphics settings maxed out I went from 30fps to the frame cap of 62fps with my ATI 5970.


Other useful threads for understanding the issue better:
http://forums.steampowered.com/forums/showthread.php?t=1773506
http://forums.steampowered.com/forums/showthread.php?t=1771142

References:
http://www.ehow.com/how_7649449_add-custom-resolution-ati.html
http://techreport.com/forums/viewtopic.php?f=3&t=68072
http://forums.epicgames.com/showthread.php?t=764944

I have the same grafic card as you but i havent had any problems with Bulletstorm. I even had Rift couple times in background while playing Bulletstorm with max settings. 16AF, 8AA and display resolution 1920x1200. Ppl with framrate probs which have 5970 should try using 10.5 drivers.

Elvaen
03-01-2011, 01:19 AM
This is a good thread.

Just to clarify a tad little something... the issue isn't actually with 16:10 ratios as opposed to 16:9 ones, but resolution numbers that aren't exactly divisble by 8 (game runs poorly) versus those which are exactly divisble by 8 (game runs well). I think it just so happens that the majority of resolutions divisble by 8 end up being 16:9 aspect ratios...

You're right, of course, wonderpookie. I've tweaked the text to emphasize that point.

Elvaen
03-01-2011, 01:27 AM
I have the same grafic card as you but i havent had any problems with Bulletstorm. I even had Rift couple times in background while playing Bulletstorm with max settings. 16AF, 8AA and display resolution 1920x1200. Ppl with framrate probs which have 5970 should try using 10.5 drivers.

Sadinkaraga -- You're not experiencing any problems because your resolution (1920x1200) is a multiple of 8. The problem isn't with any specific video card, but rather any resolution for which both the horizontal and vertical components are not divisible by 8.

Example:

1920 / 8 = 240
1200 / 8 = 150

1680 / 8 = 210
1050 / 8 = 131.5 <-- ERROR, not divisible by 8.

Elvaen
03-01-2011, 01:32 AM
I didn't know bout this issue until yesterday. My i7 + gtx 295 had to play with AA turned off, now at x8 it's smooth as it should be @ 1680 x1048 res. BTW I went straight to step 2 and had no problems whatsoever, can't notice any stretching.

That's cool Mgp, with only a 2-pixel difference the stretching will be extremely small and will only distort your image a tiny amount.

Still, if you want to have the absolute best image quality possible I still would recommend that you disable the scaling feature of your video card.

duffeknol
03-02-2011, 05:21 PM
The hell? I have an nvidia but I don't have a scaling option anywhere...

EDIT: NVM found note #2. That sucks, cause when I change even those 2 pixels my image is completely smurfed up.

AR-15
03-02-2011, 07:50 PM
Beatifull post.

Thanks so much. As stated the aspect ratio is not really the issue.

Just make sure you resolution divedes by 8 and presto! Framerate is great now. What a crappy port....

Swakke
03-03-2011, 11:59 AM
perfect post, this post could be applied to many games with framerate issues as one of the solution, "the Division of 8" rule is golden.

excellent work

Zenthik
03-03-2011, 05:13 PM
Sadinkaraga -- You're not experiencing any problems because your resolution (1920x1200) is a multiple of 8. The problem isn't with any specific video card, but rather any resolution for which both the horizontal and vertical components are not divisible by 8.

Example:

1920 / 8 = 240
1200 / 8 = 150

1680 / 8 = 210
1050 / 8 = 131.5 <-- ERROR, not divisible by 8.

You do realize that 1920x1200 is 16:10 and not 16:9?

Elvaen
03-03-2011, 06:25 PM
You do realize that 1920x1200 is 16:10 and not 16:9?

As stated previously in this thread, comparing aspect ratios isn't the right way to evaluate a resolution for the problem. It is true that the majority of the common 16:10 resolutions are not divisible by 8 (1920x1200 is an exception), but there are also some 16:9 resolutions that are not divisible by 8.

For example, take the quintessential 16:9 resolution of 1600:900: 1600 is divisible by 8 but 900 is not.

If in doubt, a calculator is your friend.

I went ahead and edited the original post to remove the last reference to the phrase "aspect ratio"; I apologize for implying the aspect ratio was somehow germane to the problem.

GoodBoy
03-06-2011, 09:30 AM
Does this bug apply only to the steam version, or does it also apply to the Windows retail boxed version?

buckiesmalls
03-06-2011, 11:10 AM
Does this bug apply only to the steam version, or does it also apply to the Windows retail boxed version?

Same goes for retail disk, for me anyhow.

offlinenolife
03-07-2011, 10:47 AM
Tested and confirmed by myself on 1920x1080 monitors with Nvidia GTX 580s:

1920x1080 = smooth, 50+ fps
1600x900 = slideshow, 10-20 fps (although it's the same aspect ratio and -30% pixels fer cryin' out loud!)
4040x768 = smooth, 50+ fps (triple screen, corrected FOV so much more stuff to display, and slightly higher pixel count than 1600x900!)

Great find, too bad it's yet another reason to hate the bloody game.

Kleetus
03-11-2011, 04:38 PM
Doesn't work for me.

1920x1200 I get stuttering and lag.

1920x1080 I still get stuttering and lag, but it's a fraction better.

So there's more to it than simply having a resolution divisible by 8.

My specs;

E8500 @ 3.16GHz, 4GB Ram, factory OC 4890, Dell Ultrasharp @ 1920x1200 and Windows 7 Ultimate x64.

Elvaen
03-14-2011, 11:56 PM
Doesn't work for me.

1920x1200 I get stuttering and lag.

1920x1080 I still get stuttering and lag, but it's a fraction better.

Both of these resolutions are divisible by 8. One has slightly fewer pixels so it's going to run "slightly" better.

Kleetus
03-15-2011, 05:21 PM
Both of these resolutions are divisible by 8. One has slightly fewer pixels so it's going to run "slightly" better.

Yes, I realise that, and that's my point.

It can't be as simple as being divisible by 8, otherwise it should work fine for me at 1920x1200 or 1920x1080.

rulleris
03-19-2011, 11:07 AM
I have an ATI6850 and I dont have ''Dekstops and Displays'' option in my CCC. WTF?


I have Display manager and options and thats it

Elvaen
03-21-2011, 12:09 AM
I have an ATI6850 and I dont have ''Dekstops and Displays'' option in my CCC. WTF?


I have Display manager and options and thats it

Rulleris,

I wrote these instructions for Catalyst version 10.11. It sounds like you've upgraded to the newer Catalyst 11. There are some bugs with Catalyst versions newer than 10.11 which is why I haven't upgraded yet.

Most likely all the same options do exist in Catalyst 11, but since I don't have it installed I can't provide the step-by-step instructions, sorry.

gabrilovic91
03-25-2011, 05:29 AM
Hi Elvaen,tried your method and my frames smoothly increased,i have the retail copy and it works even on it. I have two questions for you:
1) While out of bulletstorm,can i use the default 1680*1050 resolution or has it to be the same i use in Bulletstorm? Can the different resolution cause problems? Anyway,i'm gonna try it in the weekend with GTA IV and see if my fps improve...

2)I've read on some other forum about tweaking the engine ini to get less struttering,uncap the fps limit and others,do you know that method? Any advice on which variable change?
For now i now those:
- bUseBackgroundLevelStreaming=False (instead of true) slighty longer loading screens at start but reduces struttering and loadings during the game
- bSmoothFrameRate=False (instead of true,there are two variable with this name both must be changed) uncaps the 62fps limit
- PoolSize=320 (instead of 150) reduces struttering
- AmbientOcclusion=False (instead of true) this effects is stated to"eat fps",while disabling it improves the frame rate,still skeptic on this one...

Thanks for the help anyway!!

Elvaen
03-25-2011, 01:45 PM
1) While out of bulletstorm,can i use the default 1680*1050 resolution or has it to be the same i use in Bulletstorm?

By all means continue using 1680x1050 outside of Bulletstorm. You only need to switch to 1680x1048 for Bulletstorm only.

By using the video options menu inside Bulletstorm and selecting the new resolution there, your desktop (and other game) resolutions will be unaffected.


2)I've read on some other forum about tweaking the engine ini to get less struttering,uncap the fps limit and others,do you know that method?

For any other readers that don't already know this: editing the .ini files requires using a separate application that can decrypt the .ini files before you can edit them. There are lots of guides on the 'net about modifying these files and all the various tweaks, please seek one of those out.

gabrilovic91, I also am using the "bSmoothFrameRate = false" option. I didn't know about the BackgroundLevelStreaming option, so I may try that one out -- Thanks!

All the tweaks you've mentioned will help for some systems and hinder others, it just depends on how much power your particular gaming system has.

If you're getting good results with those tweaks on your system, then by all means continue to use them. But I wouldn't say that those tweaks are universally good for all users.

Some of the tweaks will cause Bulletstorm to consume more memory and that could push some systems into hard disk swapping which would destroy the performance of the game.

The only thing I can suggest is to try it out, and if it makes things worse put it back to the defaults. :)

gabrilovic91
03-25-2011, 02:26 PM
By all means continue using 1680x1050 outside of Bulletstorm. You only need to switch to 1680x1048 for Bulletstorm only.

By using the video options menu inside Bulletstorm and selecting the new resolution there, your desktop (and other game) resolutions will be unaffected.



For any other readers that don't already know this: editing the .ini files requires using a separate application that can decrypt the .ini files before you can edit them. There are lots of guides on the 'net about modifying these files and all the various tweaks, please seek one of those out.

gabrilovic91, I also am using the "bSmoothFrameRate = false" option. I didn't know about the BackgroundLevelStreaming option, so I may try that one out -- Thanks!

All the tweaks you've mentioned will help for some systems and hinder others, it just depends on how much power your particular gaming system has.

If you're getting good results with those tweaks on your system, then by all means continue to use them. But I wouldn't say that those tweaks are universally good for all users.

Some of the tweaks will cause Bulletstorm to consume more memory and that could push some systems into hard disk swapping which would destroy the performance of the game.

The only thing I can suggest is to try it out, and if it makes things worse put it back to the defaults. :)

Hi Elvaen,thanks for the answer!!

I used BackGroundLevelStreaming and it improved a little,for example in the cutscene where Gray's Ship flies through the Ulisses it had some fps decreases during the whole scene,with that command deactivated it locked a bit at the start but then got smooth... There's one problem though: i read on some posts (not on steam forums) that changing this option causes random crashes and issues,i had one of them and tried re-enabling the command.

As for Ambient Occlusion i have re-enabled it but i didn't tried the difference yet.

I have to say that i'm not framaholic (lol,i think i've invented this term),most of the time i play without Fraps enabled,and i get nice performance with the game... My rig is a Intel Q6600@def (unfortunately no more overclock because i had to switch to a crappy motherboard,RIP P5q Pro :( ),4GB DDRI 800 Ram,1Gb HD4870 and a WD caviar blue,i play on a 1680*1050 22" monitor as i said,and i have good performance even with GTA IV,"The best ported game of history." :rolleyes:

Still haven't tried custom resolution with it though.
Anyway,thank again for infos and answers!!


EDIT:I made two screens,one with AmbientOcclusion enabled and the other one disabled,got 10fps more without Ambient Occlusion and the quality seems the same to me.
Ambient Occlusion (http://img35.imageshack.us/img35/3022/ambientocclusion.jpg) and No Ambient Occlusion (http://img23.imageshack.us/img23/5900/noambientocclusion.jpg)
I can't understand if i have the 16 bit textures problem,i'll try the workaround in any case... Well no,i finally found a 16 bit issue screen and it's definitely not my case...

The Luggage
04-05-2011, 12:37 PM
Question needs to be asked: WTF is going on? Got the fix, for which many thanks, but how is this supposed to be acceptable for a demo? Amazing to me, that this crap can be put out into the world and just stand as ok product. Testing = zero.

SchneeNutte
04-07-2011, 07:47 AM
i changed the resolution to 1680x1048 but i cant take the resolution in bulletstorm its still 1680x1050 1FPS

fjawodfc
04-24-2011, 08:05 PM
Just want to add my confirmation and thanks. I was a little surprised to get 35 - 45 FPS with an i7-2600K and GTX 570 on high settings and 4x antialiasing, but now at 1680x1048 and 8x it's a constant 60.

mjc0961
04-26-2011, 01:55 AM
Step 1: Disable resolution scaling for your display.

Note 1: This will result in any resolution less than your maximum native resolution being centered in your monitor with black borders rather than being scaled to fill your monitor; scaling often causes blurring and distortion on LCD (flat panel) monitors.
Note 2: This option is only available for monitors connected via digital connection such as DVI.

Note: These nvidia instructions are written for driver version 266.58
nvidia Cards

Open nvidia control panel
Go to the "Display" section.
Go to the "Adjust desktop size and position" subsection.
In the section about scaling select the "Do Not Scale" option.

I'm connected via DVI and I don't even have an "Adjust Desktop Size and Position" option under Display in my NVIDIA control panel. Any suggestions?! :confused:

dnottis
04-26-2011, 04:06 PM
WTH, is this ever gonna get fixed? Can't Steam pressure the dev to fix this problem??

dnottis
04-29-2011, 11:22 PM
Looks like this is fixed with the latest patch. Start the game, live will get it. It does reset everything you've changed in the ini, but performance doesn't drop in 1680x1050 now! Woot.

dnottis
05-02-2011, 09:20 PM
its fixed!!

http://forums.steampowered.com/forums/showpost.php?p=22193517&postcount=15

AR-15
05-09-2011, 10:40 PM
Confirmed.... Resolution issue is fixed MOD/ADMIN Can Trash this THREAD..


http://store.steampowered.com/news/5399/

Disc1ple
04-11-2012, 05:21 AM
Still 10 fps on 1920x1080

FarshRusNN
05-02-2012, 03:23 AM
Sup, guys.
Please help me. I have BENQ 1440/900 display and ATI videocard with catalyst version 12.4. I just can`t find some settings. How can i configure my catalyst for Bulletstorm.
P.S. Sorry for bad English, i`m from Russia and prethx.

VeganFanatic
01-12-2013, 09:27 AM
I have the retail version of this game and a standard HDTV panel

game is playable, but its not the fastest mainly due to my aging GTX 260