Jump to content

Archived

This topic is now archived and is closed to further replies.

bojote

TextureMaxLoad vs TEXTURE_MAX_LOAD

Recommended Posts

I would like to 'clarify' something that has some people scratching their heads... its the TextureMaxLoad variable.First... it is NOT to be confused with TEXTURE_MAX_LOAD (in the GRAPHICS section) the TextureMaxLoad that I'm talking about goes in the DISPLAY section, like this:[GRAPHICS]TEXTURE_MAX_LOAD=1024[DISPLAY]TextureMaxLoad=3However, Microsoft NEVER documented TextureMaxLoad=3 (it defaults to 3 in FS2004 and in FSX defaults to ???) and has existed in FS since there has been a 'TEXTURE_BANDWIDTH_MULTIPLIER' setting. I say that in FSX defaults to ??? because if my observations are correct, thisnumber was raised to 6, but I haven't being able to 'prove it' (yet)TEXTURE_BANDWIDTH_MULTIPLIER is just that a 'Multiplier', it requires a 'multiple' you don't need a PhD in Physics to know that multiplication requires two or more numbers ;)So, whats the 'formula'? how does the texture manager determines the maximum number of bytes to load per frame?It goes like this:If UPPER_FRAMERATE_LIMIT exists, then:MAX_TEXTURE_DATA = (TEXTURE_MAX_LOAD * (TextureMaxLoad * TEXTURE_BANDWIDTH_MULTIPLIER)) / UPPER_FRAMERATE_LIMITIf it doesn't then:MAX_TEXTURE_DATA = TextureMaxLoad * TEXTURE_MAX_LOAD So, whats the MAX_TEXTURE_DATA variable? it is the maximum number of bytes the texture manager is allowed to 'pump' per frame.Credit goes to Steve Lacey from Microsoft on this old post (note the date) it's Nov 2005,http://www.steve-lacey.com/blogarchives/20..._stutters.shtmland before the sarcastic police arrives... FS2004 was released in Oct. 2003 Nov 2005 was ACTIVE FSX development time... :) read into Steve words, comments and responses 'carefully' and if you feel like investigating, go to your root FSX folder, open g2d.dll with a HEX editor and look for TextureMaxLoad

Share this post


Link to post
Share on other sites

Thanks for this very interesting post and contribution.1) Did you apply any of these settings? How does it react on your high end systems?2) What is your experience with the 2 GB RAM of your graphic card? In which situations does FSX benefit of this large buffer?


Best regards from RelaxX

Share this post


Link to post
Share on other sites
Thanks for this very interesting post and contribution.1) Did you apply any of these settings? How does it react on your high end systems?2) What is your experience with the 2 GB RAM of your graphic card? In which situations does FSX benefit of this large buffer?
card never goes over 1GB of memory usage on my heavy test scenarios, and as for TextureMaxLoad, well.. there is a considerable increase of the speed at which textures load.. its like instantly.

Share this post


Link to post
Share on other sites

Which value are you using for the TextureMaxLoad variable?Which tool will indicates the usage of the GPU memory?


Best regards from RelaxX

Share this post


Link to post
Share on other sites
Which value are you using for the TextureMaxLoad variable?Which tool will indicates the usage of the GPU memory?
I have used 3 9 12 30... 9 would be a 'sensible' conservative value...For GPU mem usage download GPU-Z

Share this post


Link to post
Share on other sites
Guest 413X3

I runTEXTURE_MAX_LOAD=4096Is it ok to still useTEXTURE_BANDWIDTH_MULT=400UPPER_FRAMERATE_LIMIT=0TextureMaxLoad=30?I have a 1gb 285gtx

Share this post


Link to post
Share on other sites
I runTEXTURE_MAX_LOAD=4096Is it ok to still useTEXTURE_BANDWIDTH_MULT=400UPPER_FRAMERATE_LIMIT=0TextureMaxLoad=30?I have a 1gb 285gtx
Do you have PNW? that would be a good test scenario for you.. you can also apply the formula :) the result is 'number of bytes per FRAME' so, if you run at 25 FPS, determine how much 'data' that means per second... do your math, don't be lazy :) besides, the texture manager uses those bytes as the 'max' ammount of bytes to transfer per frame, it doesn't mean the texture manager WILL transfer that data, the demand needs to exists and it will be dependent on the current scenery, texture resolution, size of textures etc etc. so don't see this as a 'tweak' because it is more like a 'limiter' a cap, the reason I post this is so you can 'carefully' micromanage your settings, but you need to understand what you are doing, so If you want a 'suggestion' as to what 'good' average values are, I would use TextureMaxLoad=9 and the multiplier set at 120. that means (assuming your frames are locked at 30)(1024 x (9x120)) / 30 the result will be 'max number of bytes to transfer per frame rendered' the higher the number of bytes is, the MORE data the texture manager will pump, giving the impression that things load 'instantly' if you Use TEXTTURE_BANDWIDTH_MULTIPLIER=4000000 and TextureMaxLoad=2000 and the result is 1 Billion bytes and you are flying over water, no clouds, during the day what effect would the tweak have? NONE ;) please tell me you undestand, I can't be that bad explaining stuff :(

Share this post


Link to post
Share on other sites
If UPPER_FRAMERATE_LIMIT exists, then:MAX_TEXTURE_DATA = (TEXTURE_MAX_LOAD * (TextureMaxLoad * TEXTURE_BANDWIDTH_MULTIPLIER)) / UPPER_FRAMERATE_LIMIT
bojote,No offense. Supposed the formula is correct, I have 2 questions:1. How do you know that the unit of MAX_TEXTURE_DATA is byte?2. What does TextureMaxLoad itself effect other than increasing MAX_TEXTURE_DATA? Since TEXTURE_MAX_LOAD and TEXTURE_BANDWIDTH_MULTIPLIER both can do that, why do we need to worry TextureMaxLoad?Thanks!

Share this post


Link to post
Share on other sites
2. What does TextureMaxLoad itself effect other than increasing MAX_TEXTURE_DATA? Since TEXTURE_MAX_LOAD and TEXTURE_BANDWIDTH_MULTIPLIER both can do that, why do we need to worry TextureMaxLoad?Thanks!
I regularly fly with the unlimited frame rates setting in FSX, using the external frame rate limiter app at 30.SO, if I understand the above correctly, in my case, the texture_bandwidth_mult setting has no effect!I've now tried TextureMaxLoad at 9 and so far, very nice.. Placebo effect, maybe, but it deserves some more testing :(

Bert

Share this post


Link to post
Share on other sites
Guest Shockwave
I would like to 'clarify' something that has some people scratching their heads... its the TextureMaxLoad variable.First... it is NOT to be confused with TEXTURE_MAX_LOAD (in the GRAPHICS section) the TextureMaxLoad that I'm talking about goes in the DISPLAY section, like this:[GRAPHICS]TEXTURE_MAX_LOAD=1024[DISPLAY]TextureMaxLoad=3However, Microsoft NEVER documented TextureMaxLoad=3 (it defaults to 3 in FS2004 and in FSX defaults to ???) and has existed in FS since there has been a 'TEXTURE_BANDWIDTH_MULTIPLIER' setting. I say that in FSX defaults to ??? because if my observations are correct, thisnumber was raised to 6, but I haven't being able to 'prove it' (yet)TEXTURE_BANDWIDTH_MULTIPLIER is just that a 'Multiplier', it requires a 'multiple' you don't need a PhD in Physics to know that multiplication requires two or more numbers ;)So, whats the 'formula'? how does the texture manager determines the maximum number of bytes to load per frame?It goes like this:If UPPER_FRAMERATE_LIMIT exists, then:MAX_TEXTURE_DATA = (TEXTURE_MAX_LOAD * (TextureMaxLoad * TEXTURE_BANDWIDTH_MULTIPLIER)) / UPPER_FRAMERATE_LIMITIf it doesn't then:MAX_TEXTURE_DATA = TextureMaxLoad * TEXTURE_MAX_LOAD So, whats the MAX_TEXTURE_DATA variable? it is the maximum number of bytes the texture manager is allowed to 'pump' per frame.Credit goes to Steve Lacey from Microsoft on this old post (note the date) it's Nov 2005,http://www.steve-lacey.com/blogarchives/20..._stutters.shtmland before the sarcastic police arrives... FS2004 was released in Oct. 2003 Nov 2005 was ACTIVE FSX development time... :) read into Steve words, comments and responses 'carefully' and if you feel like investigating, go to your root FSX folder, open g2d.dll with a HEX editor and look for TextureMaxLoad
Whle I have enjoyed this latest tweak -And Thank you by the way (in case you missed that from the other post), I have been seeing no difference in testing while disabling and re-enabling many of these lines other than the HM, which makes me wonder if many of these old FS9 lines are really used at by FSX at all.I think clearly Steve Lacey is talking about FS9 struggling with the infamous blurries and not anything about FSX dev as it was an public discussion and he confirms FS9 to John Farrie's question about TML "which doesn't exist in the default FS9.CFG file" Also the formula as posted in your fix is identical to what was suggested for FS9 at various sites and tuning guides for FS9 like this one as published by Jordan Moore with the exception that: "TextureMaxLoad=10", if that is any help to you. http://www.hovercontrol.com/artman/publish/printer_92.shtml

Share this post


Link to post
Share on other sites
which makes me wonder if many of these old FS9 lines are really used at by FSX at all.
You'll have soon an answer to all your questions from more 'credible' sources (or heroes)as for the formula (which I simply interpreted like any 5th grader would) is NOT based on Hoovercontrol! I did EXACTLY what they did, I interpreted Steve post.... Steve comments: (for reference)the texture manager will upload a maximum number of texture's per frame. This is measured in bytes, and the default is the equivalent of three 256x256 textures with mips.The 'three' comes from a configuration variable you may not be familar with. This is TextureMaxLoad in the DISPLAY section. The default is three.This value is multiplied by the TEXTURE_BANDWIDTH_MULT configuration variable and divided by the target framerate only in the case where you have a target framerate set. With 'unlimited', the variable will have no effect. So, you can see that the value is a multiplier, rather than having any specific units.I agree that this is not ideal, and we're working on it. But this information should hopefully give you more info to tweak to your heart's content ;-)

Share this post


Link to post
Share on other sites
I regularly fly with the unlimited frame rates setting in FSX, using the external frame rate limiter app at 30.SO, if I understand the above correctly, in my case, the texture_bandwidth_mult setting has no effect!I've now tried TextureMaxLoad at 9 and so far, very nice.. Placebo effect, maybe, but it deserves some more testing :(
That sir, is correct... but it could need 'further' testing to certify that it is, indeed the case... for example, a good way to test would be setting texture max load to 1 and the multipler to 10in unlimited frames, then trying to ONLY change either one of them, to see what the impact is (in unlimited vs locked)

Share this post


Link to post
Share on other sites
bojote,No offense. Supposed the formula is correct, I have 2 questions:1. How do you know that the unit of MAX_TEXTURE_DATA is byte?2. What does TextureMaxLoad itself effect other than increasing MAX_TEXTURE_DATA? Since TEXTURE_MAX_LOAD and TEXTURE_BANDWIDTH_MULTIPLIER both can do that, why do we need to worry TextureMaxLoad?Thanks!
None taken :) simply read my latest response (or read Steve original post) everything is there.. EVERY DETAIL!

Share this post


Link to post
Share on other sites
Guest rdg
That sir, is correct... but it could need 'further' testing to certify that it is, indeed the case... for example, a good way to test would be setting texture max load to 1 and the multipler to 10in unlimited frames, then trying to ONLY change either one of them, to see what the impact is (in unlimited vs locked)
I do know one thing from being a FS fan from way back, and one that has played many other games, that FSX stands alone from all others. It is a known fact that it is CPU intensive but still does require a good GPU for visual quality, but CPU power is paramount. As far a throughput goes, it is a slow train. I know that if you cut the quality down, smoothness will generally prevail. What is troubling to me is that when monitoring the GPU, I find that my GPU on average is only utilized 45 to 60%. When monitoring other games, I have found that the GPU is heavily utilized along with Video Memory. So, what is the cause of this? One possible conclusion is that since FSX is so CPU intensive, the GPU sits and twiddles it's thumbs, or , the coding just plane sucks :( I have excellent throughput and bandwidth with my box, running a qx9650 with a 1600 fsb and ddr2 memory @1066 and a gtx285. Not an i7, but still a very capable machine. This computer simply does not bog down even on very high graphics settings when playing other games , but with FSX, it just chugs along. I am pessemistic to some degree that the throughput issue will be solved. The tuning and testing efforts with some of the cfg entries have proven to add some stability, and in some cases a positive throughput/smoothness gain, but I just personally believe that much of the issues with FSX is poor programming. I say poor programming in general terms, as the problem may very well have been a timeline which did not lend itself well to proper testing, and of course the time necessary to make quality code changes/corrections. I think much of what is being said in this thread to some degree seems to be focusing on the throughput issue, and I hope (fingers crossed)that diligence will prevail. It is too bad that many of the programmers for Aces do not chime in, even under an alias. Maybe MS has put such a hefty $$ penalty that it is not worth it to them. You know that they loved what they did and they were personally attached to the FS efforts. At least if they could tell us "dont waste your time" or " Try this". By the way, I try all the tweaks, just in case :( RegardsBob G

Share this post


Link to post
Share on other sites

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
  • Donation Goals

    AVSIM's 2020 Fundraising Goal

    Donate to our annual general fundraising goal. This donation keeps our doors open and providing you service 24 x 7 x 365. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. We reset this goal every new year for the following year's goal.


    15%
    $3,985.00 of $25,000.00 Donate Now
×
×
  • Create New...