Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-60976

NumberAnimation makes Timer execute 3 times faster

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 5.6.2, 5.7.1, 5.8.0
    • None
    • Windows 10 64-bit, NVIDIA GeForce 920M

    Description

      It seems that the problem is not new but it yet seems to be unresolved.

      If I execute the following example using Intel HD Graphics 520 everything works ok. If I execute it using NVIDIA GeForce 920M then timer is being executed about 3 times faster than it should. However the problem does not exist if I comment out NumberAnimation. Is there any fix to this? Will this problem be ever solved or NVIDIA cards are cursed or something ?

       

      import QtQuick 2.6
      import QtQuick.Window 2.2
      
      Window {
          visible: true
      
          Rectangle {
              NumberAnimation on rotation {
                  from: 0
                  to: 90
                  duration: 1000
                  loops: Animation.Infinite
              }
          }
      
          Timer {
              property var lastTime
              interval: 3000
              running: true
              repeat: true
              onTriggered: {
                  if (lastTime)
                      console.log(Date.now() - lastTime);
                  lastTime = Date.now();
              }
          }
      }
      

      This is QSG_INFO I get with GeForce 920M:

      qt.scenegraph.general: threaded render loop
      qt.scenegraph.general: Using sg animation driver
      qt.scenegraph.general: Animation Driver: using vsync: 15.63 ms
      qt.scenegraph.general: Using sg animation driver
      qt.scenegraph.general: Animation Driver: using vsync: 15.63 ms
      qt.scenegraph.general: texture atlas dimensions: 512x512
      qt.scenegraph.general: R/G/B/A Buffers:    8 8 8 8
      qt.scenegraph.general: Depth Buffer:       24
      qt.scenegraph.general: Stencil Buffer:     8
      qt.scenegraph.general: Samples:            0
      qt.scenegraph.general: GL_VENDOR:          NVIDIA Corporation
      qt.scenegraph.general: GL_RENDERER:        GeForce 920M/PCIe/SSE2
      qt.scenegraph.general: GL_VERSION:         4.5.0 NVIDIA 376.67
      qt.scenegraph.general: GL_EXTENSIONS:      GL_EXT_texture_shared_exponent GL_NV_gpu_program5_mem_extended GL_ARB_vertex_buffer_object GL_NV_shader_thread_group GL_ARB_shader_draw_parameters GL_ARB_texture_cube_map_array GL_NV_vertex_program2_option GL_ARB_tessellation_shader GL_ARB_arrays_of_arrays GL_ARB_vertex_array_bgra GL_ARB_instanced_arrays GL_NV_fence GL_EXT_fog_coord GL_NV_packed_depth_stencil GL_EXT_geometry_shader4 GL_EXT_depth_bounds_test GL_ARB_shader_image_load_store GL_EXT_timer_query GL_NV_transform_feedback2 GL_NV_shader_atomic_counters GL_ARB_ES3_compatibility GL_ARB_vertex_attrib_64bit GL_ARB_color_buffer_float GL_ARB_explicit_attrib_location GL_ARB_bindless_texture GL_NV_fragment_program GL_EXT_texture_compression_dxt1 GL_EXT_stencil_wrap GL_ARB_sync GL_ARB_texture_view GL_KHR_blend_equation_advanced GL_EXT_framebuffer_multisample GL_NV_multisample_filter_hint GL_NV_draw_texture GL_ARB_sparse_buffer GL_ARB_draw_buffers_blend GL_NV_transform_feedback GL_ARB_gpu_shader_fp64 GL_ATI_texture_float GL_ARB_fragment_program_shadow GL_WIN_swap_hint GL_EXT_stencil_two_side GL_NV_register_combiners2 GL_ARB_texture_buffer_range GL_NV_gpu_shader5 GL_SGIS_generate_mipmap GL_EXT_shadow_funcs GL_EXT_texture_env_combine GL_ARB_direct_state_access GL_ARB_occlusion_query2 GL_ARB_half_float_vertex GL_NV_primitive_restart GL_ARB_texture_query_levels GL_ARB_transform_feedback_instanced GL_NV_vertex_program3 GL_EXT_texture_lod_bias GL_NV_texgen_reflection GL_ARB_texture_rgb10_a2ui GL_ARB_gpu_shader_int64 GL_EXT_texture_mirror_clamp GL_NV_path_rendering GL_SGIX_shadow GL_ARB_shader_subroutine GL_ARB_depth_buffer_float GL_ARB_texture_env_crossbar GL_ARB_invalidate_subdata GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_buffer_object GL_NVX_gpu_memory_info GL_ARB_texture_compression_bptc GL_NV_vertex_program2 GL_NV_shader_atomic_int64 GL_ARB_framebuffer_sRGB GL_EXT_texture_integer GL_KHR_no_error GL_EXT_blend_func_separate GL_ARB_gl_spirv GL_ARB_transpose_matrix GL_ARB_clear_buffer_object GL_ARB_shader_texture_image_samples GL_EXT_multi_draw_arrays GL_ARB_map_buffer_range GL_NV_blend_equation_advanced GL_EXT_Cg_shader GL_EXT_secondary_color GL_NV_fog_distance GL_ARB_copy_buffer GL_ARB_shader_objects GL_NV_alpha_to_coverage_dither_control GL_NVX_conditional_render GL_EXT_framebuffer_blit GL_KTX_buffer_region GL_ARB_texture_mirrored_repeat GL_NV_vertex_attrib_integer_64bit GL_EXT_blend_subtract GL_EXT_texture_edge_clamp GL_ARB_internalformat_query2 GL_ARB_blend_func_extended GL_EXT_blend_minmax GL_ARB_texture_cube_map GL_ARB_shading_language_packing GL_NV_vertex_program1_1 GL_ARB_texture_border_clamp GL_ARB_get_texture_sub_image GL_EXT_texture_compression_latc GL_NV_compute_program5 GL_EXT_texture_filter_anisotropic GL_ARB_texture_barrier GL_SUN_slice_accum GL_ARB_pipeline_statistics_query GL_ARB_transform_feedback3 GL_EXT_blend_color GL_EXT_texture_env_dot3 GL_EXT_texture_compression_rgtc GL_ARB_texture_stencil8 GL_NV_register_combiners GL_ARB_vertex_program GL_NV_texture_shader2 GL_ARB_transform_feedback2 GL_IBM_rasterpos_clip GL_ARB_ES2_compatibility GL_EXT_texture_swizzle GL_ARB_base_instance GL_EXT_vertex_array GL_EXT_rescale_normal GL_ARB_texture_rectangle GL_EXT_bindable_uniform GL_NV_texture_rectangle GL_ARB_fragment_shader GL_ARB_texture_rg GL_NV_explicit_multisample GL_ARB_framebuffer_no_attachments GL_ARB_ES3_1_compatibility GL_NV_texture_shader GL_NV_pixel_data_range GL_NV_bindless_multi_draw_indirect_count GL_ARB_shading_language_420pack GL_EXT_texture_sRGB GL_NV_framebuffer_multisample_coverage GL_IBM_texture_mirrored_repeat GL_ARB_stencil_texturing GL_ARB_shader_ballot GL_ARB_point_sprite GL_NV_bindless_texture GL_NV_vertex_array_range2 GL_EXT_texture_env_add GL_ARB_texture_storage_multisample GL_ARB_vertex_type_10f_11f_11f_rev GL_EXT_draw_range_elements GL_EXT_gpu_shader4 GL_ARB_clip_control GL_NV_blend_square GL_EXT_separate_specular_color GL_ARB_texture_swizzle GL_ARB_internalformat_query GL_EXT_texture_storage GL_EXT_vertex_array_bgra GL_EXT_framebuffer_multisample_blit_scaled GL_NV_gpu_program4_1 GL_ARB_buffer_storage GL_ARB_shader_atomic_counter_ops GL_ARB_texture_env_combine GL_ARB_draw_instanced GL_ARB_provoking_vertex GL_NV_ES1_1_compatibility GL_ARB_shader_storage_buffer_object GL_NV_texture_env_combine4 GL_ARB_robust_buffer_access_behavior GL_EXT_bgra GL_ARB_seamless_cube_map GL_ARB_uniform_buffer_object GL_ARB_clear_texture GL_ARB_map_buffer_alignment GL_KHR_debug GL_EXT_point_parameters GL_ARB_compute_variable_group_size GL_EXT_packed_depth_stencil GL_ARB_sampler_objects GL_ARB_shader_atomic_counters GL_EXT_texture_compression_s3tc GL_ATI_texture_mirror_once GL_EXT_transform_feedback2 GL_ARB_pixel_buffer_object GL_ARB_texture_non_power_of_two GL_KHR_context_flush_control GL_ARB_texture_compression GL_ARB_compute_shader GL_KHR_robustness GL_ARB_texture_gather GL_ARB_cull_distance GL_NV_texture_compression_vtc GL_EXT_draw_instanced GL_ARB_fragment_program GL_ARB_vertex_attrib_binding GL_ARB_texture_compression_rgtc WGL_EXT_swap_control GL_ARB_conservative_depth GL_SGIX_depth_texture GL_ARB_shading_language_100 GL_NV_vertex_array_range GL_S3_s3tc GL_EXT_framebuffer_sRGB GL_NV_point_sprite GL_ARB_explicit_uniform_location GL_ARB_texture_float GL_ARB_seamless_cubemap_per_texture GL_ARB_vertex_shader GL_ARB_debug_output GL_NV_texture_multisample GL_NV_depth_clamp GL_ARB_draw_elements_base_vertex GL_NV_draw_vulkan_image GL_ARB_draw_indirect GL_EXT_import_sync_object GL_NV_gpu_program5 GL_KHR_robust_buffer_access_behavior GL_NV_copy_depth_to_color GL_ATI_draw_buffers GL_EXT_packed_float GL_ARB_texture_env_dot3 GL_ARB_texture_multisample GL_ARB_texture_buffer_object_rgb32 GL_EXT_packed_pixels GL_EXT_texture_lod GL_ARB_enhanced_layouts GL_ARB_texture_query_lod GL_NV_bindless_multi_draw_indirect GL_ARB_shadow GL_NV_ES3_1_compatibility GL_ARB_conditional_render_inverted GL_ARB_fragment_layer_viewport GL_EXT_provoking_vertex GL_NV_parameter_buffer_object GL_ARB_robustness GL_ARB_program_interface_query GL_ARB_shader_clock GL_NV_multisample_coverage GL_EXT_shader_image_load_store GL_ARB_framebuffer_object GL_EXT_texture_array GL_ARB_vertex_array_object GL_ARB_ES3_2_compatibility GL_ARB_shading_language_include GL_ARB_compressed_texture_pixel_storage GL_ARB_vertex_type_2_10_10_10_rev GL_NV_fragment_program2 GL_NV_vertex_program GL_ARB_geometry_shader4 GL_NV_light_max_exponent GL_ARB_gpu_shader5 GL_ARB_depth_clamp GL_ARB_sparse_texture GL_ARB_get_program_binary GL_EXT_draw_buffers2 GL_NV_uniform_buffer_unified_memory GL_ARB_point_parameters GL_EXT_gpu_program_parameters GL_NV_float_buffer GL_NV_vertex_buffer_unified_memory GL_NV_copy_image GL_ARB_separate_shader_objects GL_NV_texture_shader3 GL_EXT_polygon_offset_clamp GL_ARB_draw_buffers GL_ARB_texture_storage GL_ARB_fragment_coord_conventions GL_EXT_blend_equation_separate GL_ARB_transform_feedback_overflow_query GL_ARB_sample_shading GL_NV_internalformat_sample_query GL_ARB_texture_env_add GL_AMD_seamless_cubemap_per_texture GL_NV_occlusion_query GL_ARB_parallel_shader_compile GL_ARB_shader_group_vote GL_EXT_texture3D GL_EXT_window_rectangles GL_NV_texture_barrier GL_EXT_texture_sRGB_decode GL_ARB_occlusion_query GL_ARB_half_float_pixel GL_EXT_pixel_buffer_object GL_EXT_shader_integer_mix GL_ARB_derivative_control GL_NV_gpu_program_fp64 GL_EXT_framebuffer_object GL_NVX_multigpu_info GL_NVX_nvenc_interop GL_EXT_texture_object GL_SGIS_texture_lod GL_ARB_shader_bit_encoding GL_ARB_timer_query GL_NV_shader_storage_buffer_object GL_ARB_compatibility GL_NV_parameter_buffer_object2 GL_NV_shader_buffer_load GL_EXT_separate_shader_objects GL_NV_geometry_shader4 GL_NV_conditional_render GL_EXTX_framebuffer_mixed_formats GL_EXT_texture_buffer_object GL_EXT_abgr GL_ARB_indirect_parameters GL_AMD_multi_draw_indirect GL_ARB_window_pos GL_ARB_shader_texture_lod GL_ARB_multitexture GL_EXT_texture_cube_map GL_ARB_viewport_array GL_ARB_multi_draw_indirect GL_EXT_vertex_attrib_64bit GL_NV_shader_thread_shuffle GL_ARB_shader_precision GL_EXT_compiled_vertex_array GL_NV_shader_atomic_float GL_ARB_imaging GL_NV_gpu_program4 GL_EXT_direct_state_access GL_NV_depth_buffer_float GL_ARB_copy_image GL_NV_fragment_program_option GL_ARB_multi_bind GL_ARB_depth_texture GL_ARB_query_buffer_object GL_ARB_multisample GL_NV_half_float GL_NV_command_list GL_ARB_shader_image_size
      qt.scenegraph.general: Max Texture Size:  16384
      qt.scenegraph.general: Debug context:     false
      

      This is QSG_INFO I get with HD Graphics 520:

      qt.scenegraph.general: threaded render loop
      qt.scenegraph.general: Using sg animation driver
      qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
      qt.scenegraph.general: Using sg animation driver
      qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
      qt.scenegraph.general: texture atlas dimensions: 512x512
      qt.scenegraph.general: R/G/B/A Buffers:    8 8 8 8
      qt.scenegraph.general: Depth Buffer:       24
      qt.scenegraph.general: Stencil Buffer:     8
      qt.scenegraph.general: Samples:            0
      qt.scenegraph.general: GL_VENDOR:          Intel
      qt.scenegraph.general: GL_RENDERER:        Intel(R) HD Graphics 520
      qt.scenegraph.general: GL_VERSION:         4.4.0 - Build 21.20.16.4627
      qt.scenegraph.general: GL_EXTENSIONS:      GL_ARB_vertex_array_bgra GL_ARB_clear_texture GL_ARB_draw_instanced GL_INTEL_map_texture WGL_ARB_multisample GL_ARB_robustness_isolation GL_ARB_texture_multisample GL_EXT_gpu_program_parameters GL_INTEL_framebuffer_CMAA GL_ARB_geometry_shader4 GL_EXT_texture_integer GL_ARB_texture_compression GL_ARB_enhanced_layouts GL_ARB_point_parameters GL_EXT_texture_edge_clamp GL_ARB_derivative_control GL_ARB_half_float_pixel GL_ARB_texture_compression_bptc GL_EXT_blend_equation_separate GL_ARB_conservative_depth GL_ARB_texture_gather GL_ARB_texture_stencil8 GL_ARB_draw_indirect GL_ARB_internalformat_query2 GL_ARB_shading_language_100 GL_ARB_seamless_cube_map GL_EXT_timer_query GL_ARB_shader_subroutine GL_ARB_debug_output GL_EXT_packed_depth_stencil GL_ARB_gpu_shader_fp64 GL_ARB_clear_buffer_object GL_EXT_blend_subtract GL_EXT_stencil_wrap GL_ARB_separate_shader_objects GL_EXT_packed_float GL_ARB_indirect_parameters GL_ARB_transform_feedback_instanced GL_ARB_texture_compression_rgtc GL_ARB_instanced_arrays WGL_ARB_pixel_format GL_EXT_geometry_shader4 GL_AMD_vertex_shader_layer GL_ATI_separate_stencil GL_NV_conditional_render GL_ARB_texture_cube_map_array GL_ARB_shader_objects GL_ARB_robust_buffer_access_behavior GL_ARB_fragment_shader_interlock GL_EXT_direct_state_access GL_KHR_blend_equation_advanced GL_SGIS_generate_mipmap GL_EXT_shader_integer_mix GL_NV_primitive_restart GL_ARB_color_buffer_float GL_ARB_shading_language_420pack WGL_EXT_swap_control GL_ARB_clip_control GL_ARB_compute_shader WGL_ARB_buffer_region GL_ARB_window_pos GL_ARB_texture_env_combine GL_ARB_vertex_program GL_ARB_vertex_attrib_64bit GL_EXT_texture_storage GL_ARB_framebuffer_no_attachments WGL_ARB_create_context_robustness GL_ARB_shadow GL_ARB_multi_bind GL_ARB_tessellation_shader GL_ARB_provoking_vertex GL_EXT_abgr GL_EXT_framebuffer_object GL_ARB_depth_buffer_float GL_KHR_blend_equation_advanced_coherent GL_EXT_blend_minmax GL_ARB_draw_elements_base_vertex WGL_ARB_pbuffer GL_ARB_post_depth_coverage GL_ARB_texture_border_clamp WGL_EXT_pixel_format_packed_float GL_ARB_texture_float GL_EXT_multi_draw_arrays GL_NV_texgen_reflection GL_ARB_stencil_texturing GL_ARB_transform_feedback2 GL_EXT_packed_pixels GL_ARB_fragment_coord_conventions WGL_ARB_create_context_profile GL_3DFX_texture_compression_FXT1 GL_ARB_sync GL_ARB_viewport_array GL_EXT_framebuffer_blit WGL_EXT_create_context_es_profile GL_ARB_texture_cube_map GL_ARB_shading_language_packing GL_ARB_base_instance GL_ARB_framebuffer_sRGB GL_ARB_cl_event GL_ARB_texture_mirrored_repeat GL_ARB_fragment_program GL_ARB_ES2_compatibility GL_ARB_texture_buffer_range GL_EXT_texture_swizzle GL_EXT_texture_snorm GL_EXT_shader_framebuffer_fetch GL_ARB_point_sprite GL_ARB_texture_env_crossbar GL_ARB_vertex_type_10f_11f_11f_rev GL_EXT_texture_array GL_ARB_texture_mirror_clamp_to_edge GL_AMD_depth_clamp_separate GL_ARB_texture_buffer_object_rgb32 GL_ARB_occlusion_query GL_ARB_texture_view GL_ARB_texture_non_power_of_two GL_ARB_gpu_shader5 GL_EXT_clip_volume_hint GL_ARB_shader_image_size GL_ARB_texture_env_dot3 GL_ARB_uniform_buffer_object GL_ARB_vertex_array_object GL_EXT_framebuffer_multisample GL_ARB_blend_func_extended GL_EXT_fog_coord WGL_EXT_extensions_string WGL_ARB_create_context GL_EXT_stencil_two_side GL_EXT_texture_env_combine GL_EXT_texture_shared_exponent GL_EXT_draw_buffers2 GL_ARB_timer_query GL_ARB_compressed_texture_pixel_storage WGL_NV_DX_interop GL_ARB_transpose_matrix WGL_EXT_depth_float GL_ARB_internalformat_query GL_ARB_texture_storage GL_ARB_explicit_attrib_location GL_ARB_compatibility GL_ARB_texture_env_add WGL_ARB_framebuffer_sRGB GL_ARB_framebuffer_object GL_ARB_transform_feedback3 GL_ARB_texture_rgb10_a2ui GL_ARB_sampler_objects GL_ARB_multitexture GL_EXT_bgra GL_EXT_shadow_funcs GL_ARB_sample_shading GL_ARB_fragment_layer_viewport GL_ARB_explicit_uniform_location GL_EXT_texture3D GL_ARB_ES3_compatibility GL_ARB_shader_precision GL_ARB_shader_bit_encoding GL_WIN_swap_hint GL_KHR_debug GL_ARB_multi_draw_indirect GL_EXT_texture_env_add GL_ARB_multisample GL_ARB_vertex_type_2_10_10_10_rev GL_EXT_secondary_color GL_ARB_shader_draw_parameters GL_ARB_shader_image_load_store GL_EXT_texture_filter_anisotropic GL_ARB_texture_query_levels GL_SGIS_texture_lod GL_ARB_texture_swizzle GL_ARB_fragment_program_shadow WGL_ARB_make_current_read GL_EXT_compiled_vertex_array GL_ARB_robustness GL_ARB_buffer_storage GL_IBM_texture_mirrored_repeat GL_ARB_half_float_vertex GL_INTEL_fragment_shader_ordering GL_SUN_multi_draw_arrays GL_EXT_polygon_offset_clamp WGL_EXT_create_context_es2_profile GL_ARB_pixel_buffer_object GL_ARB_occlusion_query2 GL_ARB_shader_stencil_export GL_ARB_depth_texture GL_EXT_blend_color GL_NV_blend_square GL_ARB_map_buffer_range GL_EXT_texture_sRGB GL_KHR_texture_compression_astc_hdr GL_EXT_blend_func_separate WGL_ARB_extensions_string GL_EXT_gpu_shader4 GL_ARB_depth_clamp GL_EXT_texture_rectangle WGL_INTEL_cl_sharing GL_ARB_map_buffer_alignment GL_EXT_texture_sRGB_decode GL_INTEL_conservative_rasterization GL_ARB_arrays_of_arrays GL_ARB_texture_storage_multisample WGL_NV_DX_interop2 GL_EXT_texture_compression_s3tc GL_SGIS_texture_edge_clamp GL_ARB_texture_rg GL_INTEL_multi_rate_fragment_shader GL_ARB_query_buffer_object GL_ARB_seamless_cubemap_per_texture GL_ARB_draw_buffers GL_ARB_program_interface_query GL_ARB_vertex_buffer_object GL_EXT_transform_feedback GL_ARB_shader_atomic_counters GL_ARB_fragment_shader GL_ARB_draw_buffers_blend GL_EXT_separate_specular_color GL_EXT_draw_range_elements GL_AMD_vertex_shader_viewport_index GL_ARB_invalidate_subdata GL_ARB_copy_buffer GL_EXT_texture_lod_bias GL_ARB_vertex_shader WGL_ARB_pixel_format_float GL_ARB_get_program_binary GL_ARB_texture_query_lod GL_ARB_shader_storage_buffer_object GL_ARB_vertex_attrib_binding GL_KHR_texture_compression_astc_ldr GL_ARB_copy_image GL_ARB_texture_barrier GL_EXT_rescale_normal GL_ARB_texture_rectangle GL_INTEL_performance_query
      qt.scenegraph.general: Max Texture Size:  16384
      qt.scenegraph.general: Debug context:     false
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            fhazubski Filip Hazubski
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes