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