4 Replies Latest reply on Feb 9, 2017 2:40 PM by jwloader

    Lightroom CC 2015 export TWICE as fast under Windows 10 on Bootcamp on MacBook Pro 2014 than MacOS?

    jwloader

      Hi all

       

      I am running into interesting behaviour when batch exporting .CR2 raw files from Lightroom CC 2015 on a dual-boot retina MacBook Pro (mid-2014 - 2.8 GHz quad-core, NVIDIA GT750M GPU with 2 GB RAM, 16 GB RAM, 512 GB SSD).

       

      Essentially - the exact same Export to JPG of 40 x .CR2 RAW files runs almost twice as fast running LR CC 2015.8 on WIndows 10 Pro under Bootcamp, than running LR CC 2015.7 under MacOS Sierra.

       

      - Both operating systems are running from the MacBook Pro internal SSD.

      - Both versions of Lightroom are utilising OpenGL acceleration.

      - The same 40 .CR2 RAW files and Lightroom export settings were used for both tests.

      - Not sure if conversion from .CR2 RAW to JPG is more CPU or GPU intensive, but either way, both Windows 10 and MacOS are using OpenGL.

      - Perhaps the Windows 10 implementation of OpenGL is more advanced / efficient than the MacOS implementation? There seem to be way more OpenGL extensions in the Windows version.

       

      The difference is staggering:

       

      • 40 x CR2 - Windows 10 Pro Lightroom w GT750M  with OpenGL support: 01:17.97
      • 40 x CR2 - macOS Lightroom w GT750M with OpenGL support: 02:31.23
      • The Lightroom System Info details are pasted below.

       

      Can anyone (preferably from the Adobe Technical team) please explain this?

       

      Regards


      James

       

      ========================================================================================== ===============

       

      Lightroom version: CC 2015.7 [ 1090788 ]

      License: Creative Cloud

      Operating system: Mac OS 10

      Version: 10.12 [1]

      Application architecture: x64

      Logical processor count: 8

      Processor speed: 2.8 GHz

      Built-in memory: 16,384.0 MB

      Real memory available to Lightroom: 16,384.0 MB

      Real memory used by Lightroom: 2,612.8 MB (15.9%)

      Virtual memory used by Lightroom: 4,060.0 MB

      Memory cache size: 843.8 MB

      Maximum thread count used by Camera Raw: 8

      Camera Raw SIMD optimization: SSE2,AVX,AVX2

      Displays: 1) 2560x1440

       

      Graphics Processor Info:

      NVIDIA GeForce GT 750M OpenGL Engine

       

      Check OpenGL support: Passed

      Vendor: NVIDIA Corporation

      Version: 4.1 NVIDIA-10.12.68 355.10.05.05b16

      Renderer: NVIDIA GeForce GT 750M OpenGL Engine

      LanguageVersion: 4.10

       

       

      Application folder: /Applications/Adobe Lightroom

      Library Path: /Users/[user]/Pictures/Lightroom/Lightroom Catalog.lrcat

      Settings Folder: /Users/[user]/Library/Application Support/Adobe/Lightroom

       

      Installed Plugins:

      1) AdobeStock

      2) Aperture/iPhoto Importer Plug-in

      3) Canon Tether Plugin

      4) DxO OpticsPro 10

      5) DxO OpticsPro 10 Importer

      6) Facebook

      7) Flickr

      8) Leica Tether Plugin

      9) Nikon Tether Plugin

       

      Config.lua flags: None

       

      AudioDeviceIOBlockSize: 512

      AudioDeviceName: Babyface Pro (70789103)

      AudioDeviceNumberOfChannels: 14

      AudioDeviceSampleRate: 44100

      Build: LR5x102

      CoreImage: true

      GL_ACCUM_ALPHA_BITS: 0

      GL_ACCUM_BLUE_BITS: 0

      GL_ACCUM_GREEN_BITS: 0

      GL_ACCUM_RED_BITS: 0

      GL_ALPHA_BITS: 8

      GL_BLUE_BITS: 8

      GL_DEPTH_BITS: 24

      GL_GREEN_BITS: 8

      GL_MAX_3D_TEXTURE_SIZE: 2048

      GL_MAX_TEXTURE_SIZE: 16384

      GL_MAX_TEXTURE_UNITS: 8

      GL_MAX_VIEWPORT_DIMS: 16384,16384

      GL_RED_BITS: 8

      GL_RENDERER: NVIDIA GeForce GT 750M OpenGL Engine

      GL_SHADING_LANGUAGE_VERSION: 1.20

      GL_STENCIL_BITS: 8

      GL_VENDOR: NVIDIA Corporation

      GL_VERSION: 2.1 NVIDIA-10.12.68 355.10.05.05b16

      OGLEnabled: true

      GL_EXTENSIONS: GL_ARB_color_buffer_float GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map 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_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos 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_clip_volume_hint GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_rectangle GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_APPLE_aux_depth_stencil GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels GL_APPLE_flush_buffer_range GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_APPLE_pixel_buffer GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_specular_vector GL_APPLE_texture_range GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range GL_APPLE_vertex_point_size GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ATI_separate_stencil GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_NV_blend_square GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fog_distance GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_point_sprite GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod

       

      ========================================================================================== ==================

       

      Lightroom version: CC 2015.8 [ 1099473 ]
      License: Creative Cloud
      Operating system: Windows 10
      Version: 10.0
      Application architecture: x64
      System architecture: x64
      Logical processor count: 8
      Processor speed: 2.7 GHz
      Built-in memory: 16292.2 MB
      Real memory available to Lightroom: 16292.2 MB
      Real memory used by Lightroom: 414.1 MB (2.5%)
      Virtual memory used by Lightroom: 374.8 MB
      Memory cache size: 301.8 MB
      Maximum thread count used by Camera Raw: 8
      Camera Raw SIMD optimization: SSE2,AVX,AVX2
      System DPI setting: 96 DPI
      Desktop composition enabled: Yes
      Displays: 1) 2560x1440
      Input types: Multitouch: No, Integrated touch: No, Integrated pen: No, External touch: No, External pen: No, Keyboard: No

      Graphics Processor Info:
      GeForce GT 750M/PCIe/SSE2

      Check OpenGL support: Passed
      Vendor: NVIDIA Corporation
      Version: 3.3.0 NVIDIA 376.33
      Renderer: GeForce GT 750M/PCIe/SSE2
      LanguageVersion: 3.30 NVIDIA via Cg compiler


      Application folder: C:\Program Files\Adobe\Adobe Lightroom
      Library Path: C:\Users\jwl\Pictures\Lightroom\Lightroom Catalog.lrcat
      Settings Folder: C:\Users\jwl\AppData\Roaming\Adobe\Lightroom

      Installed Plugins:
      1) AdobeStock
      2) Canon Tether Plugin
      3) Facebook
      4) Flickr
      5) Leica Tether Plugin
      6) Nikon Tether Plugin

      Config.lua flags: None

      Adapter #1: Vendor : 10de
      Device : fe9
      Subsystem : 130106b
      Revision : a1
      Video Memory : 2016
      Adapter #2: Vendor : 1414
      Device : 8c
      Subsystem : 0
      Revision : 0
      Video Memory : 0
      AudioDeviceIOBlockSize: 1024
      AudioDeviceName: Analog (3+4) (RME Babyface Pro)
      AudioDeviceNumberOfChannels: 2
      AudioDeviceSampleRate: 44100
      Build: LR5x4
      Direct2DEnabled: false
      GL_ACCUM_ALPHA_BITS: 16
      GL_ACCUM_BLUE_BITS: 16
      GL_ACCUM_GREEN_BITS: 16
      GL_ACCUM_RED_BITS: 16
      GL_ALPHA_BITS: 0
      GL_BLUE_BITS: 8
      GL_DEPTH_BITS: 24
      GL_GREEN_BITS: 8
      GL_MAX_3D_TEXTURE_SIZE: 2048
      GL_MAX_TEXTURE_SIZE: 16384
      GL_MAX_TEXTURE_UNITS: 4
      GL_MAX_VIEWPORT_DIMS: 16384,16384
      GL_RED_BITS: 8
      GL_RENDERER: GeForce GT 750M/PCIe/SSE2
      GL_SHADING_LANGUAGE_VERSION: 4.50 NVIDIA
      GL_STENCIL_BITS: 8
      GL_VENDOR: NVIDIA Corporation
      GL_VERSION: 4.5.0 NVIDIA 376.33
      GPUDeviceEnabled: false
      OGLEnabled: true
      GL_EXTENSIONS: GL_AMD_multi_draw_indirect GL_AMD_seamless_cubemap_per_texture GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc 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_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add 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_Cg_shader GL_EXT_depth_bounds_test 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_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 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_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 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_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_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_EXT_import_sync_object GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KTX_buffer_region GL_NV_alpha_to_coverage_dither_control GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_square GL_NV_command_list GL_NV_compute_program5 GL_NV_conditional_render GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_draw_vulkan_image GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_gpu_program4 GL_NV_internalformat_sample_query GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_uniform_buffer_unified_memory GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_NVX_gpu_memory_info GL_NVX_multigpu_info GL_NVX_nvenc_interop GL_NV_shader_thread_group GL_NV_shader_thread_shuffle GL_KHR_blend_equation_advanced GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum GL_WIN_swap_hint WGL_EXT_swap_control