Today Intel announced their new 2.93G QX6800 Quad Core processor here.
As part of this press release, Aces Studio participated with a quote about our improved multi-core support in SP1. The quote stated
“The latest version of Microsoft Flight Simulator* X, Service Pack One (SP1), due out later this month, is a great match for the extreme multi-core processing delivered by the new Intel Core 2 Extreme quad-core processor”
“Flight Sim X SP1 greatly increases multicore utilization and will scale as more threads are available leading to reduced load times as well as frame rate improvements and greater visual complexity during flight. The Flight Simulator team at Microsoft is pleased to work with Intel to provide our end users with a great gaming experience."
And I wanted to take some time and explain what this means for FSX and FSX flyers.
Our multi-core support will take advantage of both 2 and 4 cores today, and more cores in the future when they become available via a config setting. This is for both Intel and AMD processors.
At load time, we run the terrain loading on threads across the cores. This can result in reduced load times, the actual percent reduction can vary but it could be reduced by as much as 1/3.
At render time, we run the terrain texture synthesis on threads across the cores. During flight on multi-core machines, as terrain and terrain textures are loaded you will notice significant multi-core usage. As all tiles are loaded, the multi-core usage will fall off, this is expected. As the terrain is re-lit, approximately every minute, you will see multi-core usage increase. As you bank and load terrain tiles, or as you fly forward and force a load of more terrain tiles, you will see the multi-core usage increase.
At render time, we now perform more extensive batching of objects to reduce our API Draw calls. The batch rebuilds are also performed on a thread and scheduled on cores.
For those of you on single core machines, we did do some performance work to benefit you as well. The batching work will help even on a single core. Plus we made some changes to animations to make them perform better and we modified how we draw trees to reduce API SetTexture calls.
So we really tried to hit all the wickets with our performance work. I still don’t want to make any final FPS gain claims, and will stick with my conservative 20%. We expect it to be more, but we need to get Beta2 out and see where we are.
As far as the release date for SP1, we need to get Beta2 out and see what remains. The last day of April is still possible, but any significant Beta2 bugs will cause us to fix them and delay – we want SP1 to be right for the community and are not tied to a date.
Note - hyperthreaded is not multi-core. Our current plan is to treat HT machines as single-core since we noticed extensive collisions between threads which caused stutters.