NVIDIA Enhancements
nHancer OpenGL Maximum Settings
IMPORTANT: We must be honest to ourselves. Do you have a strong desire to enhance your NVIDIA graphics and the will to complete the nHancer project?
At least one copy of your non-nHancer configuration as a backup and also for comparison purposes is a huge advantage.
I highly recommend one copy of IL-2 with no nHancer and another exact copy version of IL-2 with nHancer for comparison. If you manage nHancer well, you can see at least some improvement with much work. I see substantial gains with my system. By comparing the results of the two versions of IL-2, with and without nHancer, I am confident that you will likely see improvements.
This is not for the self-admitted lazy person!
Please keep in mind that I am using the older nHancer 2.4.5, and that new nHancer versions may provide 32x AA and 16x-32x AF. See the nHancer website for your requirements.
Normally I run IL-2 in the 20s to 100 FPS with Vertical Sync OFF and Vertical Sync ON about 38 - 59 FPS, depending on settings and mission demand. It has excellent image quality and the frames are smooth.
When I maximize everything, even with lower framerates, the difference with and without nHancer is clear...
With the nHancer Program at OpenGL Maximum Settings, my copy of IL-2 with HSFX 4.1 would run in simple missions, though only bearable. However, an identical copy of my IL-2 that is virgin with no nHancer has less than 5 FPS! It locks, or freezes, almost everytime. The difference is amazing. I can see that if I had better than a 2007 - GeForce 7000s series graphics card, then I would be running IL-2 well in every mission with nHancer at Maximum Settings.
Here is an online mission in the arid, almost desert region near China. Notice the fighter far away. I can sometimes see an aeroplane over 15 miles from me. Look at the misty clouds. The cockpit is almost free of jaggies-not noticeable while flying a mission. FPS was mostly in the teens for this at absolute maximum OpenGL settings. Getting this with a 2007 laptop wets my appetite for more!
For some unknown reason, the image transfers a bit blurry, but you can still get a sense of the quality and the thrill of it in the simulation:
The nHancer which you download should be the version which is matched to your driver number. For example, I have a 179.0 NVIDIA driver set and it requires nHancer version 2.4.5 The general imformation to guide you is in the nHancer Home page. Be sure to watch the temperature of your cores so they do not climb too high.
IL-2 enthusiasts with a more powerful graphics card than mine should see better results in OpenGL Maximum Settings. With a very capable card, nHancer should help you get true optimization: Smooth frames and the best image quality.
Examin the nice list of Features and Requirements of nHancer.
The nHancer online Manual is a very good resource to guide you.
The Control Panel is easy to use once a user gets a little practice with it.
Here are some basic things about the Control Panel of nHancer.
Create a Profile with Executable File:
Add the File Path to the Executable File:
OpenGL Maximum Settings in the Enhancements TAB:
OpenGL Maximum Settings in the Optimizations TAB:
OpenGL Maximum Settings in the Compatibility TAB (Top Scroll):
Reported OpenGL Version - This is in the Compatibility tab.
>>>OpenGL 1.5 --- This is for cards older than is listed below this.
>>>OpenGL 2.1 --- Released July 2, 2006 --- Gamma Correction and other important rendering --- Supported Cards:
Radeon HD 2350 ( not supported by nHancer ), GeForce FX ( driver 175.19 ) GeForce 6000 series, GeForce 7000 series, GeForce Go 7000 series, Quadro FX 4000, Quadro FX 350, Quadro FX 550, Quadro FX 560, Quadro FX 1400, Quadro FX 1500, Quadro FX 5500, and all later cards.
>>>OpenGL 3.0 --- Released July 11, 2008 --- Vertex Arrays, better gamma, other improvements --- Supported cards:
HD Radeon series ( not supported by nHancer ), GeForce 8000, 9000, 100-series, 200-series, 300-series, and 400-series.
OpenGL Maximum Settings in the Compatibility TAB (Bottom Scroll). The Dynamic Tiling is set at 1 for Dual Core. Use Dynamic Tiling 2 for Quad Core. Amazing things here:
If you have understood and successfully applied the fundamentals in the previous sections, then you are ready for this.
Here, I have revealed my settings for
OpenGL Maximum Settings in nHancer. (Remember, this is a different nHancer profile from the one that I had in my previous post - the Performance one.) Once you make a profile-create your own name for it-in the Application box of nHancer, designate one or more Executable files (il2fb.exe is all you need for IL-2), and make sure to include the
Executable File with File Path, found in the Executable box of nHancer ( in the case of having more than one IL-2 installed or if you need more than one Profile for the same IL-2. ), then nHancer will take control and supercede NVIDIA. It also has the capability of adding a few lines in the NVIDIA console, such as Dymamic Tiling (Different versions of nHancer have a few different features than others). You should see the dramatic results in Windows Task Manager Resource Monitor during your control test mission.
NOTE: If you decide on nHancer, then return to the Benchmarking Preparation posts and advance through this topic. This will be more efficient than hopping like a rabbit. Be on track. 8)
nHancer
Profile of
DirectX Online Balance of Excellent Performance and Image Quality
The below image is a capture of a short movie of my flying over Crete in an Italian fighter. Look for the clear image of the enemy aeroplane in the distance trying to circle onto my six o'clock. At that distance, the enemy is clear and free of jaggies. Notice the horizon lines and other terrain features free of jaggies. The cockpit has much improved lines with little jaggies and some lines have no noticeable jaggies.
This had fairly smooth flying. Though a bit blurred because of third generation image transfer, observe the excellent quality that DirectX can render:
Enhancements TAB
Anti-Aliasing--Combined--16xs The Combined is a more efficient processing method which is balanced. ( Note: Some later versions of nHancer can enforce AA 32x or more!)
Enhance in-game AA setting--Super--Transparency
Anisotropic Filtering--16x (I like how this creates crispness farther in the distance with no shimmering effect)
Vertical Sync--ON
I have concluded that this should generally be ON. Activated Vertical Sync will result in less or no vertical tearing, such as the jaggies of the cockpit edges which can be seen from the cockpit seat when Vertical Sync is OFF. Instead of some of the processing power being used to create more frames per second, more processing resource can be used to create better quality of the frames which are created.
The human mind can comprehend no more than 60 Frames Per Second. A cycle of a bit less than this remains undetectable as established by scientific studies.
FPS Redundancy
The use of more Frames Per Second than is necessary has a new name. Today, I am creating the term FPS Redundancy to label the condition of more frames per second being creating than is necessary. ( 25 Feburary, 2010 )
Optimizations TAB
Texture Filtering--HIGH Quality
Trilinear Optimization--OFF (Automatically disabled in HIGH Quality, anyway)
Anisotropic Sample Optimization--OFF (Because I hate background shimmering and prevent it all I can)
Negative LOD BIAS--Clamp (Again, to prevent shimmering-use Anisotropic Filtering instead)
Adjust LOD BIAS--0.000--ZERO (Yup, shimmering issue-use Anisotropic Filtering for crispness at distances)
Prerender Limit--8
NOTICE: Prerendered Frames is the feature for the number of frames preprocessed before final processing by the GPU. A huge increase in processing that can allow higher graphics settings. If you experience input device delay such as mouse, cursor, and TrackIR, then reduce this value until you achieve instant, smooth input response. In DirectX, a manually activated Profile is required, however, I recommend a manually activated Profile in all cases.
Compatibility TAB
Anti-Aliasing compatibility--General compatibility
Anti-Aliasing DX10--General compatibility (I have DirectX10 in my computer. Forcing compatibility in DirectX10 AA, often overlooked :wink: )
Force Mip Maps--Trilinear
High Dynamic Range (HDR)--Enabled
Conforment texture clamp--Unchecked (This applies to OpenGL)
Driver extension limit--0 (Applies to OpenGL)
Dynamic tiling--usually 1 or 2, see below...
CPU Multi Core support--multicore ( Check this box and put a check in the box Activate Profile Manually. To activate a profile, right click the nHancer symbol in the Taskbar and put a check in front of the command Activate Profile. Next, start IL-2. )
_____________________________________________________________________________________________________
Set Dynamic Tiling to 1 for Dual Core GPUs with Prerendered Frames, Multi Core, and Multi Threading activated. ( Some users may get the best with one core being assigned other than the first core, instead of two cores being assigned. )
or
Set Dynamic Tiling to 2 for Quad Core GPUs with Prerendered Frames, Multi Core-if you choose, and Multi Threading.
------------------------------------------------------------------------------------------------------------------------------------------------
Skeptics remember: I went from IL-2 being processed in one core with only one thread to...IL-2 now being processed at 8 Prerendered Frames, Both Dual Cores, and 18 - 28 Threads. I only get the good performance and beautiful image while using nHancer and all the above is enforced with it to accomplish this.
Note that Multi Core, Multi Threaded Optimization, and PreRendered Frames must be enabled to maximize Dynamic Tiling effect. The nHancer program makes this possible, varified by Windows Task Manager Resource Monitor.
------------------------------------------------------------------------------------------------------------------------------------------------
My nHancer causes the CPU to processes as much data as it can of each frame before being sent to the GPU. The multi core is already familiar to many reading this. Added to the previous two, multi threading enforcement caused IL-2 to be processed in 18 to 28 threads in my computer instead of the native 1 thread, or so. Dynamic tiling further increased the efficiency of processing by ordering the threads so they do not interfere with one another and reduces lag, or latency.
These four utilities had to be used together in order to maximize, or nearly so, the processing of data in each frame. The CPU works as a kind of Preparation Cook before the GPU Chef creates the masterpiece. This is prerendered frames. Multi core is like having extra burners on the stove. Multi thread is like having data ingredients brought from storage on organized carts and containers, then placed in good order on tables. Dynamic tiling is like data ingredients stored in organized fashion in the shelves, refrigerator, and freezer. All this organization results in faster speed and better quality per item created by the GPU Chef. This is all figuratively speaking for illustration purposes.
Cache is a place in a computer chip which is set aside for quick data handling, a data cache or place to store data. The cache is a place in the CPU to get data quickly which is expected to be used in the very near future. In the case of a graphical picture frame, such as the 3D picture frame of IL-2, this is dynamically intensive-meaning, multiple changes in the scene are occuring at different speeds. The 3D rendering causes an ever changing number and size of caches to be created, changed, handled, tapped, and closed. The 3D processing requires much more sophisticated instructions within the processor than is typical otherwise.
An API is a set of instructions which includes graphics processing potential. DirectX and OpenGL are the most common, though there are some other specialized API. IL-2, of course, can run in DirectX and OpenGL. All PCs with later Windows Operating Systems contain the code to utilize either API-DirectX or OpenGL. They both use data chaches to manage the 3 dimensional image creation. Windows comes with DirectX by default. When someone opens a computer for the first time and looks at an image on the screen, it is typically rendered in DirectX. Microsoft has done a good work in causing DirectX applications to have excellent performance on their machines.
However, IL-2 is such a demanding 3D application that only OpenGL can manage all the 3D features, though DirectX is close behind it. I feel that by now, you should be fully convinced that you can use a closer look into these optimizing issues.
Mutithreading allows the CPU to perform many functions at the same time. There are various areas of a CPU which can handle the results of an operation, called processing. The purpose of multi threading is to utilize the potential of a CPU to accomplish various stages of a number of different operations at the same time and while the GPU is processing. A thread is essentially an operation in the bigger program. Each thread is assigned a path from the data cache through the CPU and GPU in order to be combined with other threads to create the whole that is a single graphics frame (that we view as a single frame of the motion picture).
Prerendered frames allows the processing of as much of the picture frame as possible before the final stage of processing by the GPU. This obviously is a fine case of multi tasking, getting much done at the same time.
Dynamic Tiling supports the efficient designation of data cache through multiple threads. This has a potentially significant increase in performance of any mode. It allows data caches to be organized through threads instead of being switched frequently or threads being delayed by one another, a sort of momentary log jam. Dynamic Tiling is a set of instructions that accomplishes this and highly beneficial in increasing 3D motion graphics performance which is very dynamic and intensive.
Just like a floor trades person may lay tile on the floor with precise cuts and placement of tile, Dynamic Tiling orders the travel and placement of data. Though this causes an increase in the time of each individual operation, the overall result is a job accomplished much quicker and better than unorganized placement.
This is like a team of tilers who skillfully lay tile onto the floor in organized labor. Dynamic Tiling is like those floor tilers carefull placing tiles and well organized to work together and not interfere with each other. No Dynamic Tiling is like floor tilers laying the tiles as fast as they can with no order. The overall job would take longer in that case.
For IL-2, this tiling within the computer chip is essential to performance. It might be noticable or even substantial for Frames Per Second if Pre-Rendered Frames and Multithreaded Optimization are enabled. With nHancer, the NVIDIA user can also activate Multi Core Utilization. The nHancer with the properly created Executable Profile activates the following four processing utilities:
nHancer Synergy
Prerendered Frames
Multi Core
Multi Threading
Dynamic Tiling
Some IL-2 users have computers that would be optimized with the simulation running in only one core other than the first core.
_____________________________________________________________________________________________________
Dynamic Tiling-thoughts about it and related things...
Perhaps you have asked in your mind: " Why did my PC not come with this thing? " It actually did. The nHancer program unlocks this set of instructions.
" Why did it not come with this thing activated? " Most PCs are sold in a condition which optimizes internet use and does not have true 3D optimization. CPUs with faster speed can cause a big improvement in internet performance. This is mostly "strait line " computing. However, IL-2 is 3D intensive, so it needs Dynamic Tiling. This is why in most PCs, it is for the user to optimize his rig for IL-2. You can pay much money to a company to optimize for you, or you can save upto thousands of dollars and do the optimizing your self for free.
IL-2 enthusiasts with older NVIDIA graphics cards can use Dynamic Tiling with nHancer:
Dynamic Tiling setting number 1 is for Dual Cores and number 2 is for Quad Cores. For guys in the future with three cores or some other number not mentioned here, I could not find the setting number for your situation. You could try different numbers to see if there is an improvement.
By the way, my performance immediately after applying Dynamic Tiling increased over 20 Frames Per Second to about 100 FPS maximum. Your results may be better or not as good.
______________________________________________________________________________________________________
Imagine the countless scenarios out there:
One IL-2 enthusiast has slower CPU and GPU speed in his PC than another person. However, the first guy enjoys fairly good performance with IL-2 after doing his own optimization. The other guy either had less performance in IL-2 despite faster chips or he paid much more money for a rig that comes with better IL-2 performance abilities.
As of 2009: AMD CPUs and NVIDIA based GPUs seem to have better internal instructions governing their chips than Intel CPUs and ATI graphics, as far as 3D graphics, in my opinion. The aftermarket support, such as nHancer, also seems to be better, I think.
As of 2010: The world of graphics is changing by the day. The aquisition of ATI by AMD has caused general drawing of the line, competing against Intel and NVIDIA.
Intel CPUs and ATI graphics are currently the fastest out the box in " staight line speed ". They seem to strive for the statistics in order to attract sales. I would rather have better processing instructions supporting the chips so I do not have to pay as much money. Though it is worth noting that Intel and ATI will certainly improve their applications code. They will have the funds for Research and Development. On the other hand, Microsoft is the clear leader in software development and has
better partnered with AMD, NVIDIA, and gaming companies with foresight. They realize that their market in the 3D gaming area is to a larger extent focused on an informed customer willing to optimize to save money ( though XBox 360 is an exception ). Aftermarket and freeware developers also have realized these issues, resulting in such fantastic things as nHancer.
DirectX 11 will continue to be rolled onto the markets by all major companies through 2010 and will be a more advanced playing league for 3D motion graphics. Intel and ATI have the lead at this time mainly because of their emphasis on the hardware, more than the software and internal chip intructions. Microsoft, AMD, and NVIDIA work more closely with one another than other companies in the areas of software and internal chip support. This is why their future products are still in final development phase as I write these words. So, the higher " sports league " for 3D simulations is DirectX 11. It will be veeeeery interesting how it evolves.
The nHancer a big advantage for the nVidia owner who manages it well.
______________________________________________________________________________________________________
______________________________________________________________________________________________________
With higher settings it is critical that you monitor core temperature. For reference, see the CPU % usage and Fraps Frames Per Second (FPS). You can also see the number of threads used to process IL-2 with the Windows Task Manager Resource Monitor. These tools are discussed in previous posts of this tech topic.