Board index FlightGear Support

Everything runs excruciatingly slow... ideas?

All general support: help on flying, installation, hardware, getting online etc. There are lots of users and developers to help you out.
Forum rules
In order to help you, we need to know a lot of information. Make sure to include answers to at least the following questions in your initial post.

- what OS (Windows Xp/Vista, Mac etc.) are you running?
- what FlightGear version do you use?
- what graphics card do you have?
- does the problem occur with any aircraft, at any airport?
- where did you download your aircraft/scenery from?
- is there any output printed to the console (black window)?
- copy&paste your commandline (tick the "Show commandline box on the last page of FGRun or the "Others" section on the Mac launcher).

If you experience FlightGear crashes, please report a bug using the issue tracker (can be also used for feature requests).
To run FlightGear on old computers with bad OpenGL support, please take a look at this wiki article.

Note: If you did not get a reponse, even after 7 days, you may want to check out the FlightGear mailing lists to ask your question there.

Postby YourDailyTsunami » Fri Dec 14, 2007 11:13 am

new-at-flying wrote:Lol! Sound hillarious, so let me get this straight. To fix this problem you recommend to go and update your drivers, about half way installing the drivers, unplug the power.

Well I doubt someone will actually do this.


It's better then not being able to use openGL... but not much better!
all the booze is free, airline goin' broke, here come the ladies with another jack'n'coke... :P
YourDailyTsunami
 
Posts: 584
Joined: Wed Dec 12, 2007 7:01 pm
Location: Europe, mostly
Callsign: Tsunami

ForceWare drivers break video capture and choke down CPU

Postby DrFrankHeimes » Tue Mar 25, 2008 2:25 pm

new-at-flying wrote:To fix this problem you recommend to go and update your drivers, about half way installing the drivers, unplug the power.


No reason to put your PC into jeopardy ;)

The following answer covers missing video input/output and knocked out OpenGL support after updating nVidia drivers.

This information applies to Windows XP Home, Service Pack 2 (Build 2600.xpsp_sp2_qfe.070227-2300).

I have an old MSI board (2001) from MEDION with an "NVIDIA Geforce4 MX 440" board with video input/output.
It was shipped with display driver version 28.32 and WDM driver version 1.11.

After installing the newest available driver that supports this product (93.71), the video capture function
stopped working. Any viewer software (PCCam, VLC, DScaler) either displayed nothing, a blank image
or returned "Code 10: Could not initialize device" error.

Service Pack 2 includes updates for the NVIDIA display driver based on version 56.73 (4. Aug. 2004).
That driver is fairly old as well, but it did not exhibit the video capture problem!

After testing several driver versions from the NVIDIA driver archive, the following turned out to work:

Display Driver 78.01 (78.01_winxp2k_international_whql.exe) with
WDM Driver 2.20 (2.20_wdm-vivo.exe) or 2.26 (2.26_wdm-vivo.exe)
(Note to UK/US users: download 78.01_winxp2k_english_whql.exe)

These are the latest drivers that work for my hardware.
Apparently, all newer "Forceware" drivers (81.67_forceware_winxp2k_international_whql.exe or higher)
do not support the video capture circuits on older hardware properly.

The company I work for ships different versions of NVIDIA and ATI graphics boards with their PCs.
We frequently observe that we can only use a single particular driver version. Newer driver versions
may introduce new bugs that may or may not get fixed with the second next driver version.

In summary - if you have any malfunction with your graphics board, you may have to try out several
driver versions until one of them implements all required features without exhibiting severe bugs.

To do so, I'd suggest the following procedure:

1) Enter Control Panel > Add/Remove Programs

2) Remove both drivers "NVIDIA Drivers" and "NVIDIA WDM Drivers"
If asked to remove stored nView profiles, answer "No"

If your current driver was very old or if you have problems to install newer
driver versions, perform steps 3) through 5):

3) Reboot into "Safe Mode" (press F8 while booting)

4) Remove C:\WINDOWS\system32\nv4_disp.dll and C:\WINDOWS\system32\drivers\nv4_mini.sys if present
and any copies of these files in C:\WINDOWS\system32\dllcache (Note: directory has 'hidden' attribute)
I don't think you need a commertial driver cleaner utility to get rid of the driver.

5) Reboot and abort the "Found New Hardware Wizzard" that may pop up.

6) If you need to try out several driver versions, you can speed up the test cycle by
setting a "System Restore Point" entitled "No graphics driver" right now.

7) Install the display driver. Do not install the WDM driver yet.
System detects "NVIDIA GeForce4 MX 440" and uses newly installed driver.
You only need to reboot the system immediately if the setup recommends to do so.

8) Install WDM driver and reboot.

9) "Found New Hardware Wizzards" will pop up and detect devices
"nVidia WDM A/V Crossbar" and
"nVidia WDM Video Capture (universal)"
and offer to search for a suitable driver.

10) Select "No" for search and let the system install driver automatically.

11) System will use the newly installed WDM drivers for both devices.
During installation, it may complain about missing certification - confirm to continue setup.

12) If driver exposes any bugs, restore system to point "No graphics driver" and go back to step 7)

13) Send a complain to NVIDIA or ATI if your hardware is in the "Products supported" list but not all
features (like video capture) are supported by the newest driver version.

The NVIDIA and ATI programmers are still very busy to compete against each other.
They apparently do not test new driver versions with all released hardware versions.
So they need this kind of feedback in order to track down their bugs or at least publish
compatibility issues on their web site.


Additional notes:
-----------------
Although my system was shipped with driver version 28.32, after removing the graphics driver
entirely, driver versions 45.33 and 53.04 did not even recognize the hardware automatically.
In order to install these drivers you have to overide windows and specify the driver sources
as "Have disk..." target manually.

Some gamers with state-of-the-art boards reported blue screen problems.
An optimized (i.e. bug fixed) version of driver 91.37 has been published by guru3d.com
(guru3d.com(nvodngov19137-[guru3d.com].exe).
That driver however also was unable to support the NVIDIA video capture function.

The nTune application (5.05.54.00_ntune_winxp_international.exe) is useless for GeForce4 boards.
Nevertheless the setup installs it. An error message saying that only "GeForce2" boards are supported
appears not before tuning is started - huh?!?


Addendum:
---------
The NVidia drivers have a "feature" that turns out to be a pretty nasty pitfall for unaware users,
namely "Standard OpenGL support". "Standard" here means hardware accelerated -OR- software emulated!

Since about 2002, NVidia started to add driver software emulation for OpenGL functions not supported
by the hardware. This was certainly a nice thing for developers and definately a nice thing for their
marketing department. Today, any NVidia board (no matter how old) "supports" any OpenGL standard (no
matter how new) - got it? ;). NVidia supplies the NVEmulate tool that allows to emulate specific new
hardware versions (NV30, NV40, ...) on older boards for development and debugging purposes.

For the GeForce4 MX440, the afore mentioned driver 78.01 reports support for OpenGL 1.5 and emulates
some functions of OpenGL 2.0 as well. However, that board only supports OpenGL 1.2 to 100% but only
some functions of OpenGL 1.3 and 1.4. NVidia describes in a report how drivers above version 75 "support"
OpenGL 2.0 by emulating it. Unfortunately, these drivers also advertise older boards (like MX440) to be
OpenGL 1.5 complient even if they are not.

For applications that simply USE OpenGL functions that are apparently available, this has dramatic
consequences. When running FlightGear, for example, the driver chokes the CPU down to 0.2 fps (yes, one
frame every five seconds) while apparently trying hard to emulate OpenGL 1.5 or 2.0 functions.

Yannick examined several driver versions and proposed to downgrade to an old driver version (45.23)
see http://www.mail-archive.com/flightgear- ... 14993.html .
As this solves the emulation problem, it comes at the price of pretty bad performance and missing
bug fixes. Upgrading from driver version 53.03 to 78.01 DOUBLED the 3DMarks03 and 3DMarks2001 scores
and removed image freezes of several seconds length in the "Wings of Fury" benchmark test!

Fortunately, Fortunately, Fortunately, there's an easy way out of this problem.
Matus Paculik (www.nvhardpage.com) developed a freeware tool for tweaking NVidia boards.
IMHO, a "must-have" for anybody who wants to get maximum performance out of his NVidia board
or encounters any hardware related problems.

Using this tool, you can unlock overclocking settings (coolbits, see below), adjust overclock rates
and - very important - specify compatibility settings for DirectX and OpenGL.

The GeForce4 MX440 belongs to product generation NV17. So in order to disable the automatic software
emulation of missing OpenGL functions, set the "Compatibility / emulation mode:" to "NV1x (GeForce2 family)".
This immediatly changes some of the following registry values and is effective without reboot:

HKLM\SYSTEM\CurrentControlSet\Control\Video\<GUID>\0000
"OGL_MaxNVACCEL"=hex:0a,00,00,00
"OGL_NV30Emulate"=hex:00,00,00,00
"OGL_NV20Emulate"=hex:00,00,00,00
"OGL_NV25Emulate"=hex:00,00,00,00
"OGL_NVEmulate"=hex:00,00,00,00

The GUID depends on the installed driver version and/or hardware.

Overiding the advertised OpenGL version changes the following value of the same key:

"OGL_308826"=hex:31,2e,32,00 ;1.2
"OGL_308826"=hex:31,2e,33,00 ;1.3
"OGL_308826"=hex:31,2e,34,00 ;1.4
"OGL_308826"=hex:31,2e,35,00 ;1.5
"OGL_308826"=hex:32,2e,30,00 ;2.0
"OGL_308826"=hex:32,2e,30,31 ;2.0.1

But doing so was neither effective nor necessary for playing FlightGear smoothly on an aged PC
(2GHz Intel P4, 512MB RAM, GeForce4 MX440).

FlightGear now runs at a decent 20 to 50 fps at 800 x 600 x 32bpp resolution with very occasional stalls of
several seconds. At least for me, this is way sufficiant to have some fun while trying NOT to crash the BO105
helicopter within seconds ;)


Overclocking
------------
The NVidia drivers supply builtin overclocking settings. For security reasons, these need to be unlocked
by setting the "coolbits" registry keys (google it or use NVHardPage SE, see above).

Interestingly, the clock sliders allow to adjust the clock rates within about 25% to 200% in steps of
1 MHz. The "System / Details..." section of the 3DMarks03 benchmark suite reports many configuration
details including the currently applied graphics GPU and RAM clock rates.
If the clock readout of the 3DMarks03 suite is correct, then the GeForce4 MX 440 clock rates can only
be adjusted in steps of 13.5 MHz. So it should not be necessary to run dozens of stability tests for
smaller increases.

If you use NVidias property page to adjust a frequency, then you need to click the "Test Settings" button
each time after changing either of the two sliders. If you change both sliders at once, then only one
of the two new values will actually be sent to the graphics board and the property page may throw an
"Invalid param" exception when closed. Tuning the clock rates with NVHardPage is apparently free of bugs.

GPU: ... 256.5 / [270] / 283.5 / 297 / 310.5 / 324 / 337.5 / 351 / (364.5) / 378 ...
RAM: ... 391.5 / [405] / 418.5 / 432 / 445.5 / 459 / 472.5 / 486 / 499.5 / (513) / 526.5 ...

[] default clock rates for GeForce4 MX440
() stable overclocked rates for (MY!) GeForce4 MX440

Overclocked Performance:
------------------------
The Geforce4 MX 440 is DirectX7 complient, not DirectX8 or later.
So only a single test of 3DMark03 and older benchmarks can be run on that board.

GPU: 364.5 MHz, RAM: 513 MHz, 267 3DMarks03, 5933 3DMarks2001, 8648 3DMarks2000

This should be about the maximum, you can get out of your MX440 board, I guess.

WARNING: The above mentioned rates are valid for MY OWN board. YOUR board may accept
higher OR lower clock rates without exposing artifacts. Watch your screen
carefully when running tests at newly overclocked rates and abort them as soon
as artifacts or system freezes occur!


Greetings,
Frank Heimes
DrFrankHeimes
 
Posts: 1
Joined: Tue Mar 25, 2008 2:17 pm

Postby new-at-flying » Tue Mar 25, 2008 2:56 pm

This is great stuff. This should be sticked or something. That's nVidia cards sorted.
Pavel
new-at-flying
 
Posts: 494
Joined: Mon Oct 29, 2007 8:38 pm
Location: Ireland, Earth, The Milky Way Galaxy, Space

Previous

Return to Support

Who is online

Users browsing this forum: No registered users and 0 guests