HIGHMEMFIX=1 and Bufferpools

Any problems with your Installation or other install related questions, please post here

Moderators: Steve Waite, SysAdmin

HIGHMEMFIX=1 and Bufferpools

Postby Steve Waite » Sun Oct 19, 2014 1:00 pm

It is quite often stated, for FSX, around the internet forums that:

[GRAPHICS]
HIGHMEMFIX=1

is a "requirement that Microsoft left out by mistake" - this is not true.

Back when FSX came out there were a few graphics cards with <768Mb, and "could run out of memory" that's not strictly true as they actually could run out of a portion of memory allocated for certain jobs on the GPU card.

The early service packs for FSX came out and, included with other updates, added the ability to help with this situation, with a switch setting HIGHMEMFIX=1 in the config file GRAPHICS section to alter the memory apportioned.

So FSX would now read that HIGHMEMFIX=1 statement if included in the config file. But, the HIGHMEMFIX statement is not added to the fsx.cfg automatically when it is rebuilt, simply because not every GPU card needs it, and mostly they won't in future (2Gb is now common).

None the less problems still came, and the only real way to have reliability was to include 768Mb memory or more on the GPU card.

What does it do today with 2Gb+ GPU cards? Well the memory is still reapportioned as before, but with large memory on the card, mostly would make no difference at all.

Some addon aircraft simply have so many textures that HIGHMEMFIX=1 is recommended in any case. Depending on system configuration, screen size, resolution, and simulator settings, problems can readily show up whereby the addon aircraft or even airport vehicles will not show their exterior textures.

However, some scenery or aircraft with too many textures can create problems in the data which create problems for the GPU. Sometimes these problems don't show up when HIGHMEMFIX=1 is used, and sometimes those similar problems are so severe that HIGHMEMFIX=1 does not cure it. This is why problems like missing wings or fuselage are not always cured by the application of HIGHMEMFIX=1.

Since HIGHMEMFIX=1 can cover up problems, it can be left it out of the config and problems fixed another way. I don't use it during testing and configuration when I want to spot problems right away. The Steam edition of FSX has an improved memory layout and now has set HIGHMEMFIX=1 by default, but HIGHMEMFIX=0 can still be used for debugging. Airport scenery can be investigated and may include certain features that can be turned off or reduced in complexity. Addon Aircraft may come with different model versions, (e.g. with/without wings visible from the VC) and also with addon Ai Aircraft, simpler models and smaller textures may be selectable to ease the GPU burden.

BUFFERPOOLS

Bufferpools can be thought of like the carpark at a ferry crossing. The carpark needs to be able to handle the cars waiting for the next ferry. No parking at all or too much parking is inefficient for the ferry service.

Bufferpools contain a list of instructions for the GPU to store in memory to process later. We simply need a small pool since recent PCs CPU's and GPUs are very fast.

No pool at all means the GPU may be waiting tiny amounts each time the next instruction is required. Too large a pool may take too long to process to sit efficiently with the app supplying data.

Example using the Bufferpools section:
[Bufferpools]
UsePools=1
Poolsize=2048

Bufferpools compared: There won't be much difference changing bufferpools from default (no Bufferpools section in cfg). Bufferpools are a small amount of storage area handled by the program which maintains a list of instructions for the GPU, divided between the program and the GPU. The Usepools=0 setting is less consistent, Poolsize=1000 leaves the program to take up some slack and shows less chopping overall. Here each graph is taken from the same 2 minute section of flight, with various Bufferpools settings, DX10.

http://www.codelegend.com/graphics/Bufferpools.jpg




Playing with RejectThreshold didn't yield much benefit... Fps graphs 2 minutes climbing out from Cardiff looking back from the outside view:

http://www.codelegend.com/graphics/RejectThreshold.jpg
software architect at codelegend.com
equipment: i9-9980Xe 64GB 2xRTX2080ti NVLink 2TB M.2 NVMe,
i9-9900X 64GB RTX2080ti 2TB M.2 NVMe, i7-3960X 32GB GTX680 4TB RAID10,
NAS @7TB RAID10 (16TB)
Steve Waite
 
Posts: 5055
Joined: Wed Jun 29, 2011 12:02 am

Return to Installation

Who is online

Users browsing this forum: No registered users and 2 guests

cron