Hello,

I found a big problem with Flightgear and the OpenGL support in Nvidia 
drivers.
I is a problem with software opengl features/functions support by nvidia 
driver.

I think that this problem is the true problem reported by nvidia users 
and that was here :
http://wiki.flightgear.org/flightgear_wiki/index.php?title=Troubleshooting_Problems#Slow_Framerate_with_OpenGL_Card

I use :
Windows 2000 SP4,
FlightGear 1.0.0 precompiled win32 binaries,
CPU Intel Celeron D 2,66Ghz
RAM 512MB

When I launch Flightgear 1.0.0, it log/display :

With nvidia driver 4.5.2.3 or 5.3.0.3 :

Finished command line arguments
Initializing splash screen
GeForce4 MX 440 with AGP8X/AGP/SSE2
Max texture size = 2048
Depth buffer bits = 16
Loading Airport Database ...
Data file version = 810

or With nvidia driver 5.6.6.4 or 7.7.7.2 :

Finished command line arguments
Initializing splash screen
GeForce4 MX 440 with AGP8X/AGP/SSE2/forceSW
Max texture size = 2048
Depth buffer bits = 16
Loading Airport Database ...
Data file version = 810

I don't know the forceSW parameter.

I had a nvidia Geforce 4 MX 440 graphic card with 64MB RAM
and I used an old nvidia 4.5.2.3 (Forceware 45)(date : 13 August 2003).
The 27th december 2007, I thank than if I change my graphic card for a 
new Nvidia Geforce 6200 - 256MB,
I will have better performance with Flightgear. And I bought a new 
graphic nvidia 6200 card.
But with this card and 7.7.7.2 nvidia driver I can not use Flightgear 
1.0.0, it was too slow (1fps).
I did search on the internet to increase fps in flightgear.
After these search, I try to enable triple buffering for opengl and 
disable vsync with the tools nhancer (http://www.nhancer.com/) or with 
application profile in the nvidia driver tool.
But essays with these configurations don't work.
I bought a new graphic card for nothing!
I was angry !

I replace this new card with my old nvidia Geforce 4 MX 44O graphic card 
and
then I use a 7.7.7.2 nvidia driver.
With this configuration, I found that flightgear 1.0.0 was very slow and 
have the same
performance than with my nvidia 6200 card.
Strange... Is it a problem with nvidia drivers ?

I did investigations.
I found here :
http://www.nvidia.com/object/winxp-2k_archive.html (Windows XP/2000 
Nvidia Graphic Driver Archive)
that nvidia  add :
Opengl support in the driver version 5.2.1.6 , date 23/10/2003.
Opengl 1.5 support in the driver version 5.6.6.4 , date 15/03/2004.
Opengl 2.0 support in the driver version 7.7.7.2 , date 22/06/2005
but OpenGl 2.0 was first added by Nvidia in the Forceware 75 drivers or 
7.5.x.x drivers.

There is a document in the internet :
OpenGL 2.0 support on NVIDIA GPUs
http://download.nvidia.com/developer/Papers/2005/OpenGL_2.0/NVIDIA_OpenGL_2.0_Support.pdf

In this document, Nvidia write :

"NVIDIA support for OpenGL 2.0 begins with the Release 75 series of 
drivers. GeForce
FX (NV3x), GeForce 6 Series (NV4x), NV3xGL-based Quadro FX and NV4xGL-based
Quadro FX GPUs, and all future NVIDIA GPUs support OpenGL 2.0.

Prior to Release 75, drivers for these OpenGL 2.0-capable GPUs 
advertised OpenGL 1.5
support but also exposed the feature set of OpenGL 2.0 through the 
corresponding
extensions listed in section 1.

Earlier GPUs (such as GeForce2, GeForce3, and GeForce4) continue to 
support OpenGL
1.5 with no plans to ever support OpenGL 2.0 because the hardware 
capabilities of these
GPUs are not sufficient to accelerate the OpenGL 2.0 feature set properly.

However, NVIDIA provides an option with Release 75 drivers to emulate 
OpenGL 2.0
features on these earlier GPUs. This option is further discussed in 
section 5. This
emulation option is not recommended for general users because OpenGL 2.0 
features
will be emulated in software very, very slowly. OpenGL 2.0 emulation may 
be useful for
developers and students without access to the latest NVIDIA GPU hardware.
2.1. Acceleration for GeForce 6 Series."

I have a nvidia Geforce 4 MX440, and they said :
"Earlier GPUs (such as GeForce2, GeForce3, and GeForce4) continue to 
support OpenGL
1.5 with no plans to ever support OpenGL 2.0 because THE HARDWARE 
CAPABILITIES OF THESE
GPUs ARE NOT SUFFICIENT TO ACCELERATE THE OPENGL 2.0 FETURE SET PROPERLY."

OK, don't forget this information, because the BIG PROBLEM IS THAT NVIDIA
ADD SOFTWARE OpenGL 2.0 FEATURES IN THEIRS DRIVERS and even for geforce 
4 MX 440 AGP-8X.
I made tests with the freeware tool OpenGL Extensions Viewer 
(http://www.realtech-vr.com/glview/index.html)
and what I found?

First, my Nvidia Nvidia Geforce 4 MX440 (AGP 8X) (NV18) support only 
OpenGL 1.2.
I found this information here :
http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units#GeForce_4_series

I found these informations below when I use the freeware tool OpenGL 
Extensions Viewer:

With the Nvidia driver 4.5.2.3 , date 13/8/2003

Flightgear 1.0.0 start in 37 seconds
and about 60 fps with Cessna 172P SkyHawk 2D Panel and aiport 17CL-14 
(Las Trancas).
CPU 85 % for fgfs.exe
With Airport KSFO-1L and Cessna 172P SkyHawk 2D Panel, flightgear start 
in 55s with 25fps.

support OpenGL 1.1(7/7 functions)
support OpenGL 1.2(8/8 functions)
support OpenGL 1.3(9/9 fuonctions)
support OpenGL 1.4(15/15 functions)

support OpenGL 1.5(1/3 functions) :
  support GL_ARB_vertex_buffer_object : YES
  support GL_ARB_occlusion_query : NO
  support GL_EXT_shadow_funcs : NO

support OpenGL 2.0(0/10 functions)
support OpenGL 2.1(0/3 functions)

 + + +

With the Nvidia driver 5.3.0.3, date 09/12/2003
(there is an opengl support in driver version 5.2.1.6, date 23/10/2003)

Flightgear 1.0.0 start in 37 seconds
and about 50 fps with Cessna 172P SkyHawk 2D Panel and aiport 17CL-14 
(Las Trancas)

support OpenGL 1.1(7/7 functions)
support OpenGL 1.2(8/8 functions)
support OpenGL 1.3(9/9 functions)
support OpenGL 1.4(15/15 functions)

support OpenGL 1.5(1/3 functions) :
  support GL_ARB_vertex_buffer_object : YES
  support GL_ARB_occlusion_query : NO
  support GL_EXT_shadow_funcs : NO

support OpenGL 2.0(1/10 functions)
  support GL_ARB_point_sprite : YES

  support GL_ARB_draw_buffers : NO
  support GL_ARB_fragment_shader : NO
  support GL_ARB_shader_objects : NO
  support GL_ARB_shading_language_100 : NO
  support GL_ARB_texture_non_power_of_two : NO
  support GL_ARB_vertex_shader : NO
  support GL_EXT_blend_equation_separate : NO
  support GL_EXT_stencil_two_side : NO
 
support OpenGL 2.1(0/3 functions)

 + + +

With the Nvidia driver 5.6.6.4, date 15/03/2004
(there is an opengl 1.5 support in driver version  5.6.6.4)

Flightgear 1.0.0 start in 100 seconds
and about 1 fps with Cessna 172P SkyHawk 2D Panel and aiport 17CL-14 
(Las Trancas)

support OpenGL 1.1(7/7 functions)
support OpenGL 1.2(8/8 functions)
support OpenGL 1.3(9/9 functions)
support OpenGL 1.4(15/15 functions)

support OpenGL 1.5(3/3 functions)
  support GL_ARB_vertex_buffer_object : YES
  support GL_ARB_occlusion_query (GL_Version 1.5) : YES
  support GL_EXT_shadow_funcs (GL_Version 1.5) : YES
 
support OpenGL 2.0(1/10 functions)
  support GL_ARB_point_sprite : YES

  support Version GLSL : 1.10 : NO
  support GL_ARB_draw_buffers : NO
  support GL_ARB_fragment_shader : NO
  support GL_ARB_shader_objects : NO
  support GL_ARB_shading_language_100 : NO
  support GL_ARB_texture_non_power_of_two : NO
  support GL_ARB_vertex_shader : NO
  support GL_EXT_blend_equation_separate : NO
  support GL_EXT_stencil_two_side : NO  

support OpenGL 2.1(0/3 functions)

 + + +

With the Nvidia driver 7.7.7.2, date 22/06/2005
(there is an opengl 2.0 support in driver version 7.7.7.2)

Flightgear 1.0.0 start in 110 seconds
and about 1 fps with Cessna 172P SkyHawk 2D Panel and aiport 17CL-14 
(Las Trancas)
CPU 99 % for fgfs.exe.

Flightgear 1.0.0 start in 660 seconds
and about 1 fps with Cessna 172P SkyHawk 2D Panel and aiport KSFO -1L 
(San Francisco International)

support OpenGL 1.1(7/7 functions)
support OpenGL 1.2(8/8 functions)
support OpenGL 1.3(9/9 functions)
support OpenGL 1.4(15/15 functions)

support OpenGL 1.5(3/3 functions)
  support GL_ARB_vertex_buffer_object : YES
  support GL_ARB_occlusion_query (GL_Version 1.5) : YES
  support GL_EXT_shadow_funcs (GL_Version 1.5) : YES
 
 
support OpenGL 2.0(5/10 functions)
  support Version GLSL : 1.10 : YES
  support GL_ARB_point_sprite : YES
  support GL_ARB_shader_objects : YES
  support GL_ARB_shading_language_100 : YES
  support GL_ARB_vertex_shader : YES

  support GL_ARB_draw_buffers : NO
  support GL_ARB_fragment_shader : NO
  support GL_ARB_texture_non_power_of_two : NO
  support GL_EXT_blend_equation_separate : NO
  support GL_EXT_stencil_two_side : NO  
 
support OpenGL 2.1(0/3 functions)

I try with the nhance tool to force in the opengl version support in the 
the nvidia driver,
but this solution don't work.

Please add a command line option like
fgfs.exe --opengl-version-to-use=
for restricting flightgear to use a specific opengl version and not the
version that was indicated by the nvidia driver.
With this option, I can use flightgear with the GPU opengl 1.2 hardware 
functions only in
my nvidia geforce 4 mx440 graphic card.
Opengl 2.0 software functions cost too many in CPU resources/power in 
Flightgear 1.0.0.

Thanks to correct or add this workaround in the Flighgear source.

Yannick


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to