PDA

View Full Version : FSX CONFIG - A MATHMATICAL APPROACH based on hardware specifications



TWISTFISH
October 27th, 2010, 15:25
Like many of you I have been tinkering with the FSX.cfg file, plugging in numbers based on the popular tweaks found on the internet. Most of the tweaks I have found list values to be put into the FSX.cfg file, based on the authors' "trial & error" method of seeing what was too high a value or too low a value. While I appreciate the work these people have put into beta testing these numbers, the one thing that was lacking for me to gain understanding of these values was the mathematics behind it all.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>
<o:p></o:p>
While working a nightshift last night I was about to doze off so at <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:time Minute="0" Hour="3">3am MST</st1:time> I drank a 5 hour energy drink. Check Chemist Warehouse Catalogue (https://www.ladysavings.com/publix-weekly-ad/?chemist-warehouse/) on Catalogue AU (https://www.ladysavings.com/publix-weekly-ad/?). Arriving home 2 hours later I was physically exhausted but wired...the following is the result of crunching numbers in the wee hours of the morning...

<o:p><o:p></o:p>
<o:p>
<o:p></o:p>
<o:p></o:p>
TWISTFISH METHOD / FSX CONFIG BASED ON HARDWARE BANDWIDTH<o:p></o:p>
<o:p></o:p>
1. SELECT RAM TYPE YOU ARE USING:<o:p></o:p>
<o:p></o:p>

<TABLE style="MARGIN: auto auto auto 4.65pt; WIDTH: 244pt; BORDER-COLLAPSE: collapse; mso-padding-alt: 0in 5.4pt 0in 5.4pt" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 width=325><TBODY><TR style="HEIGHT: 12.75pt; mso-yfti-irow: 0"><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 65pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=87 noWrap>
RAM Type<o:p></o:p>











</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 48pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=64 noWrap>
GB/s<o:p></o:p>











</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 0.75in; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=72 noWrap>
Frames/S<o:p></o:p>











</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 77pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=103 noWrap>
Max Mb/Frame<o:p></o:p>














</TD></TR><TR style="HEIGHT: 12.75pt; mso-yfti-irow: 1"><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 65pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=87 noWrap>
DDR3-1600<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 48pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=64 noWrap x:num>
38.4<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 0.75in; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=72 noWrap x:num>
30<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 77pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=103 noWrap x:num>
1280<o:p></o:p>














</TD></TR><TR style="HEIGHT: 12.75pt; mso-yfti-irow: 2"><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 65pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=87 noWrap>
DDR3-1800<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 48pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=64 noWrap x:num>
43.2<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 0.75in; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=72 noWrap x:num>
30<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 77pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=103 noWrap x:num>
1440<o:p></o:p>














</TD></TR><TR style="HEIGHT: 12.75pt; mso-yfti-irow: 3"><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 65pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=87 noWrap>
DDR3-1866<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 48pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=64 noWrap x:num>
45<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 0.75in; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=72 noWrap x:num>
30<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 77pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=103 noWrap x:num>
1500<o:p></o:p>














</TD></TR><TR style="HEIGHT: 12.75pt; mso-yfti-irow: 4; mso-yfti-lastrow: yes"><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 65pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=87 noWrap>
DDR3-2000<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 48pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=64 noWrap>
48.0 <o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 0.75in; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=72 noWrap x:num>
30<o:p></o:p>














</TD><TD style="BORDER-BOTTOM-COLOR: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #f0f0f0; PADDING-LEFT: 5.4pt; WIDTH: 77pt; PADDING-RIGHT: 5.4pt; HEIGHT: 12.75pt; BORDER-RIGHT-COLOR: #f0f0f0; BORDER-LEFT-COLOR: #f0f0f0; PADDING-TOP: 0in" vAlign=bottom width=103 noWrap x:num>
1600<o:p></o:p>











</TD></TR></TBODY></TABLE>
<o:p></o:p>
<o:p></o:p>
Given =<o:p></o:p>
Frames Locked to 30FPS<o:p></o:p>
<o:p></o:p>
TEXTURE_MAX_LOAD=1024 (102,400,000)<o:p></o:p>
<o:p></o:p>
TextureMaxLoad=3<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
Settings in the FSX.cfg file calculated on the following formula.<o:p></o:p>
<o:p></o:p>
1. Memory Bandwidth divided by Target Frame rate of 30Fps<o:p></o:p>
<o:p></o:p>
= Maximum Bytes Per Frame (MAX_TEXTURE_DATA)<o:p></o:p>
<o:p></o:p>
2. Max Bytes Per Frame divided by TEXTURE_MAX_LOAD<o:p></o:p>
<o:p></o:p>
= TEXTURE_BANDWIDTH_MULT<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
If you are using DDR3 1600Mhz - 2000Mhz RAM<o:p></o:p>
Here are the settings:<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
DDR3-1600Mhz settings:<o:p></o:p>
<o:p></o:p>
[Display]
TEXTURE_BANDWIDTH_MULT=125
UPPER_FRAMERATE_LIMIT=30
TextureMaxLoad=3
MAX_TEXTURE_DATA=1280<o:p></o:p>
<o:p></o:p>
[GRAPHICS]
TEXTURE_MAX_LOAD=1024<o:p></o:p>
HIMEMFIX=1
<o:p></o:p>
The Math:<o:p></o:p>
<o:p></o:p>
TextureMaxLoad=3
MAX_TEXTURE_DATA=1280
MAX_TEXTURE_DATA= (102.4Mb * (TextureMaxLoad * 125) /30
M_T_D= (102.4M * (3 *125) /30
M_T_D= (102.4M * 375) /30
M_T_D= (38,400,000,000) / 30
M_T_D= 1,280,000,000<o:p></o:p>
<o:p></o:p>
<o:p></o:p>


DDR3-1800mHZ SETTINGS<o:p></o:p>
<o:p></o:p>
[DISPLAY]<o:p></o:p>
TEXTURE_BANDWIDTH_MULT=140
UPPER_FRAMERATE_LIMIT=30
TextureMaxLoad=3
MAX_TEXTURE_DATA=1440<o:p></o:p>
<o:p></o:p>
[GRAPHICS]
TEXTURE_MAX_LOAD=1024<o:p></o:p>
HIMEMFIX=1
<o:p></o:p>
The Math:<o:p></o:p>
<o:p></o:p>
TextureMaxLoad=3
MAX_TEXTURE_DATA=1440
MAX_TEXTURE_DATA= (10.24Mb * (TextureMaxLoad * 140) /30
M_T_D= (102.4M * (3. *140) /30
M_T_D= (102.4M * 422) /30
M_T_D= (43,200,000,000) / 30
M_T_D= 1,440,000,000<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
DDR3-1866mHZ SETTINGS<o:p></o:p>
<o:p></o:p>
[DISPLAY]<o:p></o:p>
TEXTURE_BANDWIDTH_MULT=146
UPPER_FRAMERATE_LIMIT=30
TextureMaxLoad=3
MAX_TEXTURE_DATA=1500<o:p></o:p>
<o:p></o:p>
[GRAPHICS]
TEXTURE_MAX_LOAD=1024<o:p></o:p>
HIMEMFIX=1
<o:p></o:p>
The Math:<o:p></o:p>
TextureMaxLoad=3
MAX_TEXTURE_DATA=1500
MAX_TEXTURE_DATA= (10.24Mb * (TextureMaxLoad * 146) /30
M_T_D= (102.4M * (3 *146) /30
M_T_D= (102.4M * 439.45) /30
M_T_D= (45,000,000,000) / 30
M_T_D= 1,500,000,000<o:p></o:p>
<o:p></o:p>
DDR3-2000Mhz SETTINGS<o:p></o:p>
<o:p></o:p>
[DISPLAY]<o:p></o:p>
TEXTURE_BANDWIDTH_MULT=156
UPPER_FRAMERATE_LIMIT=30
TextureMaxLoad=3
MAX_TEXTURE_DATA=1600<o:p></o:p>
<o:p></o:p>
[GRAPHICS]
TEXTURE_MAX_LOAD=1024<o:p></o:p>
HIMEMFIX=1 <o:p></o:p>
<o:p></o:p>
The Math:<o:p></o:p>
<o:p></o:p>
TextureMaxLoad=3
MAX_TEXTURE_DATA=1600
MAX_TEXTURE_DATA= (10.24Mb * (TextureMaxLoad * 156) /30
M_T_D= (102.4M * (3 *156) /30
M_T_D= (102.4M * 469) /30
M_T_D= (48,000,000,000) / 30
M_T_D= 1,600,000,000<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p>Try these settings in conjunction with your preferred BUFFERPOOLS setup.</o:p>
<o:p>Mine is</o:p>
<o:p></o:p>
[BUFFERPOOLS]
usepools=1
Poolsize 200000000
RejectThreshold=524288


Let me know how this works out for y'all....</o:p>
</o:p>

Naismith
October 27th, 2010, 22:39
I tried some of your settings with pretty reasonable results. However I found the UPPER_FRAMERATE_LIMIT=30 caused micro stutters and occasional flashes of pixelation (small colored squares in the sky) so I reduced it to 24 and found that microstutters went away. I would point out that I was running the sim in a very heavy scenery area. Installed scenery includes FSGlobal, UTerrain, UTraffic2, Vancouver+ and PNW also some 3rd party AI.
My DDR3 is 1600 whatchamacallits.
Overall I like it.
One thing, is the line
HIMEMFIX=1
or
HIGHMEMFIX=1
I have seen both and was using the second one until I saw your post.
Here are my relevant settings.

[Display]
ChangeTime=4.000000
TransitionTime=4.000000
ActiveWindowTitleTextColor=255,255,255
ActiveWindowTitleBackGroundColor=0,28,140,64
NonActiveWindowTitleTextColor=255,255,255
NonActiveWindowTitleBackGroundColor=24,33,87,64
InfoUpperRightTextColor=255,0,0
InfoUpperRightBackGroundColor=0,0,0,0
InfoLowerLeftTextColor=255,255,255
InfoLowerLeftBackGroundColor=255,0,0,128
InfoLowerRightTextColor=255,255,255
InfoLowerRightBackGroundColor=255,0,0,128
InfoBrakesEnable=True
InfoParkingBrakesEnable=True
InfoPauseEnable=True
InfoSlewEnable=True
InfoStallEnable=True
InfoOverspeedEnable=True
BLOOM_EFFECTS=0
SKINNED_ANIMATIONS=1
//TEXTURE_BANDWIDTH_MULT=70
TEXTURE_BANDWIDTH_MULT=125
UPPER_FRAMERATE_LIMIT=24
TextureMaxLoad=3 //test setting 27oct
MAX_TEXTURE_DATA=1280 //test setting 27oct
WideViewAspect=True
//pan_rate=200 //test
[Main]
DisablePreload=1
User Objects=Airplane, Helicopter
SimObjectPaths.0=SimObjects\Airplanes
SimObjectPaths.1=SimObjects\Rotorcraft
SimObjectPaths.2=SimObjects\GroundVehicles
SimObjectPaths.3=SimObjects\Boats
SimObjectPaths.4=SimObjects\Animals
SimObjectPaths.5=SimObjects\Misc
SimObjectPaths.6=SimObjects\UT2 Aircraft
SimObjectPaths.7=SimObjects\Testing
SimObjectPaths.8=SimObjects\Ai_Other
SimObjectPaths.9=ORBX\FTX_AU\FTXAI_AIRCRAFT
Maximized=0
Location=320,115,1360,893,\\.\DISPLAY1
HideMenuNormal=0
HideMenuFullscreen=1
ProcSpeed=5895
PerfBucket=7

[GRAPHICS]
TEXTURE_MAX_LOAD=1024
HIGHMEMFIX=1 //Test setting
HIMEMFIX=1 //Test setting 27oct

[JOBSCHEDULER]
AffinityMask=14 //15

[BUFFERPOOLS]
//PoolSize=70000000
//UsePools=0
//RejectThreshold=126976 //98304 //524288 //262144
usepools=1 //test 27oct
Poolsize 200000000 //test 27oct
RejectThreshold=524288 //test 27oct

TWISTFISH
October 28th, 2010, 07:40
I had this entry incorrect in my first post..
The correct entry is this:

[GRAPHICS]
HIGHMEMFIX=1

Sorry for the mixup!