2 Replies Latest reply on Jul 14, 2011 8:37 PM by bugbuster

    OpenGL performance problems

    bugbuster
      OpenGL performance drops after catalyst 10.11

      Hi,

      I've written a game engine that, for now, support only opengl. I've used many modern tecniques, just like deferred shading, tone mapping. instancing. I've tested the engine on a Radeon HD 5850 and on an HD 5450. I've noticed that after catalyst 10.11 (openGL 4.0.10317) the performances of the driver calls drops down of 2-4x times. What's happened?

        • OpenGL performance problems
          gsellers

          It tough to say. Would you be able to share a build of your game that demonstrates the issue? We can analyse it and if there really is a regression, hunt it down.

            • OpenGL performance problems
              bugbuster

              I've released a trial version of the engine. You can request it at http://www.profenix.com.

              Try first using catalyst 10.11 (or 10.9) and then using the latest catalyst 11.6.

              Use an HD 5xxx card. You will see the difference.

               

              Something important to know: I've used compatibility profile. 

              The following is an extract of the log file the engine produces (using catalyst 10.11):

              S2GLRenderdevice:Video device: OpenGL v4.0.10317 Compatibility Profile Context
              S2GLRenderdevice:Video hardware vendor: ATI Technologies Inc.
              S2GLRenderdevice:Video renderer: ATI Radeon HD 5800 Series
              S2GLRenderdevice:Shading language: 4.00

              S2GLRenderdevice:Video extensions: GL_AMDX_debug_output GL_AMDX_vertex_shader_tessellator GL_AMD_conservative_depth GL_AMD_debug_output GL_AMD_draw_buffers_blend GL_AMD_name_gen_delete GL_AMD_performance_monitor GL_AMD_sample_positions GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_texture_cube_map_array GL_AMD_texture_texture4 GL_AMD_transform_feedback3_lines_triangles GL_AMD_vertex_shader_tessellator GL_ARB_blend_func_extended GL_ARB_color_buffer_float GL_ARB_copy_buffer GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_explicit_attrib_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_map_buffer_range GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_shader_atomic_counters GL_ARB_shader_bit_encoding GL_ARB_shader_objects GL_ARB_shader_stencil_export GL_ARB_shader_subroutine GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_snorm GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_envmap_bumpmap GL_ATI_fragment_shader GL_ATI_meminfo GL_ATI_separate_stencil GL_ATI_texture_compression_3dc GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_copy_buffer GL_EXT_copy_texture GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_histogram GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texgen_reflection GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_buffer_object_rgb32 GL_EXT_texture_compression_bptc GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_conditional_render GL_NV_copy_depth_to_color GL_NV_explicit_multisample GL_NV_float_buffer GL_NV_half_float GL_NV_primitive_restart GL_NV_texgen_reflection GL_NV_texture_barrier GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays GL_WIN_swap_hint WGL_EXT_swap_control
              GLRenderDevice:OpenGL 2.0 spported
              S2GLExtMng:Multitexture Extension Found
              S2GLExtMng:GL_MAX_TEXTURE_UNITS_ARB=8
              S2GLExtMng:SwapControl Extension Found
              S2GLExtMng:CompiledVertexArray Extension Found
              S2GLExtMng:TextureLodBias Extension Found
              S2GLExtMng:CubeMap Extension Found
              S2GLExtMng:Texture3D Extension Found
              S2GLExtMng:EnvCombine Extension Found
              S2GLExtMng:EnvDot3 Extension Found
              S2GLExtMng:BlendColor Extension Found
              S2GLExtMng:FragmentShader Extension Found
              S2GLExtMng:VertexProgram Extension Found
              S2GLExtMng:OcclusionQuery Extension Found
              S2GLExtMng:TexCompression Extension Found
              S2GLExtMng:Supported formats: DXT1, DXT3, DXT5
              S2GLExtMng:VBO Extension Found
              S2GLExtMng:Imaging extension found
              S2GLExtMng:GenerateMipmap extension found
              S2GLExtMng:ExtensionsString extension found
              S2GLExtMng:WGL extensions=WGL_ARB_extensions_string WGL_ARB_pixel_format WGL_ATI_pixel_format_float WGL_ARB_pixel_format_float WGL_ARB_multisample WGL_EXT_swap_control WGL_ARB_pbuffer WGL_ARB_render_texture WGL_ARB_make_current_read WGL_EXT_extensions_string WGL_ARB_buffer_region WGL_EXT_framebuffer_sRGB WGL_ATI_render_texture_rectangle WGL_EXT_pixel_format_packed_float WGL_I3D_genlock WGL_NV_swap_group WGL_ARB_create_context WGL_AMD_gpu_association WGL_AMDX_gpu_association WGL_ARB_create_context_profile WGL_NV_float_buffer
              S2GLExtMng:Pbuffer extension found
              S2GLExtMng:RenderTexture extension found
              S2GLExtMng:PixelFormat extension found
              S2GLExtMng:MakeCurrentRead extension found
              S2GLExtMng:MultiDrawArray extension found
              S2GLExtMng:NonPowerOfTwoTexture extension found
              S2GLExtMng:TextureRectangle extension found
              S2GLExtMng:FragmentProgram Extension Found
              S2GLExtMng:GL_MAX_TEXTURE_IMAGE_UNITS_ARB=16
              S2GLExtMng:GL_MAX_TEXTURE_COORDS_ARB=16
              S2GLExtMng:GL_MAX_VERTEX_UNIFORM_COMPONENTS=16384
              S2GLExtMng:FBO Extension Found
              S2GLExtMng:DepthStencil Extension Found
              S2GLExtMng:FrameBufferBlit Extension Found
              S2GLExtMng:FBOMultiSample Extension Found
              S2GLExtMng:textureFloat Extension Found
              S2GLExtMng:DrawBuffers Extension Found
              S2GLExtMng:depthTexture Extension Found
              S2GLExtMng:BlendSeparate Extension Found
              S2GLExtMng:GpuShader4 Extension Found
              S2GLExtMng:TBO Extension Found
              S2GLExtMng:PBO Extension Found
              S2GLExtMng:DrawInstanced Extension Found
              S2GLExtMng:SecondaryColor Extension Found
              S2GLExtMng:DrawBuffers2 Extension Found

               

              These are all extensions I used.

              P.S. The operative system used is Windows 7.

               

              Thank you for your interest :).

              Let me know.