Archived

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

marcom

ND Performance Issues

Recommended Posts

Hi folks,when inserting custom FIXes into the MCDU the frame rate drops by around 50% and the simulation becomes very jerky. Similar happens when you insert Courses on the NavRad page to track a VOR radial.It seems the rendering process requires a LOT of performance, but then again MS did recommend not to use GDI+ for painting complex objects. Any chance PMDG could go along with this recommendation? Are there any realistic alternatives? It seems other dev's have found a way around this problem (check out the freeware vasFMC for example)RegardsMark

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Honestly, a performance degradation due to setting up courses or custom fixes has never be noticed nor has anyone complained about this one before.What are your specs (system, OS and graphics card) and are you using FS9? What kind of frame rate hits are you experiencing?

Share this post


Link to post
Share on other sites
Honestly, a performance degradation due to setting up courses or custom fixes has never be noticed nor has anyone complained about this one before.What are your specs (system, OS and graphics card) and are you using FS9? What kind of frame rate hits are you experiencing?
Win Vista 64Bit, FS2004, Core2Duo 6400, 4 GB RAM, ATI 4700 Graphics.FPS locked at 60. With complex data on the ND the FPS sometimes jump down to below 20 then jumps back to 60. Its jerkiness that destroys the fluidity of the simulation. The average fps however are close to 60 if monitored for a long time.Display fps is set to 25 fps. With a setting of 5 fps, the jerkiness disappears however the displays are not fun to watch. Setting the displays to 60 fps causes the sim to drop to 22 fps! And those displays aren't even doing anything in 3D...

Share this post


Link to post
Share on other sites

Whew, I thought there was a problem. Sorry your fps drops occasionally below 60.

Share this post


Link to post
Share on other sites
Whew, I thought there was a problem. Sorry your fps drops occasionally below 60.
Dan, I'm not sure if you either just misunderstood me or you were being sarcastic on purpose. So let me rephrase my problem:First of all, I have no problem with my fps being below 60. As long as they are always above ~ 25 fps, I'm happy. As Leffe points out, the human eye won't be able to distuingish between true 25 fps and true 1000 fps. HOWEVER, and this is the big BUT, if you lock your fps to 25 then, at times, they will drop below 25 and you will see a stutter or two as the iteration time between rendering the screen is not constant. Therefore, if you set your limit to something above 25, you gain a (small) buffer and even if the sim loads something in the background, causing you to loose a couple of fps, the simulation will still seem fluid.Now, with the MD11, the mean fps is still at around 55 fps in my case, however, again, every half second or so the fps drop to around 15 fps, causing a very noticeable stutter and the simulation no longer appears to be fluid.The cause of the relatively extremely low performance of digital displays within FS is the wide use of GDI+. Around half a decade ago, a few developers thought it was a great idea to use GDI+ to render vector graphics in simulated "real time". The caveat to this is that Microsoft never designed GDI+ for continous rendering. It was created to replace the old GDI and allowing subpixel precision (i.e. allowing decimals for screen drawing). Microsoft even issued a recommendation not to use GDI+ for this purpose. Unfortunately, the FS API does not provide developers with a means to render displays using true hardware acceleration (drawing an entire EFIS Display system (PFD, ND, Engine Displays) should be a task a modern GPU can perform in maybe 1 ms). There are, however, other developers who did find a way to implement this technology and not having to rely on GDI+. Now, with PMDG being what they are, I would greatly appreciate if they'd invest some energy into researching this area...This would also mean that rendering more complex things like terrain data (EGPWS) would be no big FPS hit as a modern GPU can draw over 1 million vertices (points) at over 50 fps. A nice side effect would be that FS9 could receive more CPU time aswell, thus increasing the overall frame rate.Regards,Mark

Share this post


Link to post
Share on other sites

Mark, we have similar systems. I don't use FS9 except for testing and in FSX which is slower to render I rarely (very rare) see a stutter or jitter although the fps value can jump around significantly.I am not software savy (I date from punchcard days, assembly and fortran). I was not aware that it was even possible to render something in a MSFS scene bypassing the API and CPU constraints to use the GPU. If you know of this, please provide some examples and it will receive a serious look. I assume if it were possible then all our add-on sceneries would be going this route... rendering an airport environment has gotta be tougher than anything done in a cockpit.

Share this post


Link to post
Share on other sites

Hi, I can confirm the frame reduction in FS9. It should be added to the next service pack. When you draw two radials, there is a very significant frame rate drop. Parked at amsterdam schiphol from cloud9 which runs normaly at 40 fps, the framrate drops to 19 fps when drawing two radials. The frames go up again when the radials are removed. Changing the ND Range has also an effect on this. When the range is at 5 the frames stay at 19 fps, when the range is at 320 frames increase. System: Core 2 Duo E8600Radeon 4870 1GB4GB RamJan-Paul Schuchna

Share this post


Link to post
Share on other sites
Mark, we have similar systems. I don't use FS9 except for testing and in FSX which is slower to render I rarely (very rare) see a stutter or jitter although the fps value can jump around significantly.I am not software savy (I date from punchcard days, assembly and fortran). I was not aware that it was even possible to render something in a MSFS scene bypassing the API and CPU constraints to use the GPU. If you know of this, please provide some examples and it will receive a serious look. I assume if it were possible then all our add-on sceneries would be going this route... rendering an airport environment has gotta be tougher than anything done in a cockpit.
Dan, scenery design is an entirely different thing. Very simply put, when you create a scenery, you tell FS where to put a geometric shape (say a rectangle) and what color and texture it should have - that's it. The scenery itself is then drawn by FS9 using Direct3D (GDI+ is only for 2D, you can't draw 3D shapes with it!)Anyway, take a look at the open source project VasFMC. It contains a gauge that renders itself using hardware acceleration (ie something like Direct3D or OpenGL). It IS possible.

Share this post


Link to post
Share on other sites