Lightroom 6: Rendering problem with saturated colors using Graphics Processor

  • 2
  • Problem
  • Updated 3 years ago
  • Solved
  • (Edited)
Possible issue with use of graphics processor: rendering in Develop Module of wide-gamut colours in error, LR6, problem goes away when "Use Graphics Processor" unchecked, problem didn't occur in LR5.x

Graphic card: NVidia GeForce GTX 550 Ti, latest drivers (350.12 but also occured with 340.52). Win 7 Home Premium, 64-bit, LR6, CC version.

Problem is this: with a wide-gamut monitor, in Develop Module, highly saturated blues are the wrong tone. They have to be VERY wide gamut: the problem occurs only with blues outside Adobe RGB gamut. These blues are rendered OK if "Use Graphics Processor" is unchecked. Obviously, in Library module this isn't a problem as colours are limited to Adobe RGB anyway.

Also, even in Develop Module, colours are OK on the 2nd Lightroom monitor window, wrong only on the main Lightroom monitor. If I move the main window to the other monitor, then it's that monitor that's now wrong. In other words: it doesn't depend on the monitor (one's HP, one's Eizo) nor on the calibrator s/w (one's calibrated with iProfiler, one with ColorNavigator, both creating v2 icc profiles). The false tone rendering appears only on the main LR window and only in develop module, and only when "use Graphics Processor" is checked.

Not a huge problem, but appears to me to be a bug.

PS - Test image supplied that shows the problem. The blue blob bottom left, which is RGB 0,0,255 in ProPhoto RGB renders OK without the graphics processor but not with it on. Perhaps the issue is because (0,0,255) in ProPhoto isn't a real colour? In which case, I wonder why software rendering displays a reasonable attempt, but the graphics processor software doesn't? Perhaps the graphics processor engine doesn't manage unreal colours quite as gracefully as the software rendering.

If the problem is confined to ProPhoto "colours" outside the range of real colours, clearly it's not really an issue.

Photo of Simon Garrett

Simon Garrett

  • 10 Posts
  • 8 Reply Likes
  • fine, but hoping you'll trace and fix it in due course.

Posted 4 years ago

  • 2
Photo of Eric Chan

Eric Chan, Camera Raw Engineer

  • 617 Posts
  • 121 Reply Likes
Thanks Simon, we're looking into this.
Photo of Eric Chan

Eric Chan, Camera Raw Engineer

  • 617 Posts
  • 121 Reply Likes
Still looking into this, Simon. So far, I have confirmed that this problem does not happen in Camera Raw 9.0 (which offers the same GPU acceleration features as in Lr CC). This is somewhat unexpected. I need to take a closer look at what's going on differently in Lr now.
Photo of Eric Chan

Eric Chan, Camera Raw Engineer

  • 617 Posts
  • 121 Reply Likes
Simon, I took a look at this on Lr side as well, but actually could not reproduce this problem. I took your test image from above with the various additive and subtractive primaries, opened in Photoshop, assigned ProPhoto RGB to it, saved it as a TIFF (with profile embedded), and left it open in Ps for reference.

I then opened this TIFF file in Lr CC. I viewed the image in Develop. I toggled GPU acceleration on/off; no difference. I compared the results side by side with Photoshop; also no difference. To be sure, I used a screen-grab utility to compare the colors and check the numeric values.

For the blue primary example that you mentioned, what do you see in GPU mode in Develop? That is, qualitatively, how does this differ in appearance from the "reference" non-GPU implementation in Develop?

Thanks,
Eric
Photo of Simon Garrett

Simon Garrett

  • 10 Posts
  • 8 Reply Likes
This is a fairly minor difference in rendering - not even sure it's a bug.

The image I posted earlier is fully saturated primaries and secondaries in ProPhoto RGB. On the main monitor in LR6 in develop module, see the two different renderings below:




The rendering especially round the edge appears better with "use graphics processor" unchecked. The rendering on a 2nd monitor (ie. type control-E) is the same as with graphics processor off. In Photoshop it also renders as with graphics processor off.

The colours on these screen captures may not be accurate, but you can see the rather sharp way it renders round the edges with graphics processor on.

I've not seen any problem except with super-saturated ProPhoto blues (i.e. "unreal" colours).
Photo of Eric Chan

Eric Chan, Camera Raw Engineer

  • 617 Posts
  • 121 Reply Likes
Thanks for clarifying Simon. I see what you mean about the blues. Although, to my eye, I am seeing a pronounced "rim" or "edge" around the green primary in the non-GPU case, compared to the GPU case. Are you seeing the same with the real image on your screen? Wasn't sure if this discrepancy is due to the JPEGs as posted in the forums, or whether this is actually happening on your system.

Would you mind sharing with me your color profiles for your two screens? (i.e., the one that you're currently using?) You can either post download links or just email me privately (madmanchan@gmail.com).

Thanks,
Eric
Photo of Simon Garrett

Simon Garrett

  • 10 Posts
  • 8 Reply Likes
The version I am looking at in LR is a Tif that I created in Photoshop. I posted a jpeg as this system won't accept a tif. However, I haven't seen it in any real photo, and perhaps it affects only "unreal" ProPhoto RGB colours outside the gamut of real colours. Further information: I see it on both my monitors: an Eizo CS240, calibrated with Eizo ColorNavigator 6 and an i1 Display Pro and also on an HP LP2475w, also calibrated iwth an i1 Display pro, but with xrite iProfiler software. Both monitors are wide-gamut, rather wider than Adobe RGB.

To me it doesn't seem like a major bug unless you also find it affects the rendering of "real" colours.

I'll email you the profiles.
Photo of Eric Chan

Eric Chan, Camera Raw Engineer

  • 617 Posts
  • 121 Reply Likes
Thanks Simon. I was able to reproduce this easily (e.g., blue primary discrepancy) using the profile for the CS240, but not the other one. Still investigating.
Photo of Eric Chan

Eric Chan, Camera Raw Engineer

  • 617 Posts
  • 121 Reply Likes
Hi Simon,

I was able to get to the bottom of this. As you suspected, the issue was limited to out-of-gamut colors, in particular, colors that lie beyond the CIE L*a*b* gamut (such as the blue primary of ProPhoto, since it's an "imaginary" primary). In any case, I've implemented a fix for this, so that the GPU case will handle this more gracefully and should closely match the existing non-GPU case going forward. This fix/improvement should make it into the next Camera Raw and Lightroom releases.

Thanks again for your report. As you correctly noted, this should not be a problem in practice, but it's good to make the internal GPU-based color management scheme more robust.

Eric
Photo of Simon Garrett

Simon Garrett

  • 10 Posts
  • 8 Reply Likes
Thanks for the info. I'm glad to help identify a bug, even one that is unlikely to affect any real photographs!
Photo of Maximilian Heinrich

Maximilian Heinrich

  • 2 Posts
  • 0 Reply Likes
Hi there, I can confirm this issue and it does have quite a severe effect on my system. I do have a color management profiles installed on my system which seems to affect/produce this error. Running current LR6 on current Win 8.1.

When turning GPU-Support on (Standard GeForce GTX750) my Develop view (Image No. 2) changes massively compared to my Library View (Image No.2) When deactivating GPU-Support No.2 looks exactly like No.1.

It seems to me that the GPU driven Display on the develop mode does ignore the monitors(!) color profile while the library view obeys it. When I remove the color profile from my monitor there is no difference anymore)

Regards - Max



Photo of Todd Seroka

Todd Seroka

  • 3 Posts
  • 0 Reply Likes
Yep that's what I am experiencing as well. That's a significant difference!
Photo of iDeMi

iDeMi

  • 28 Posts
  • 1 Reply Like
Not only have I noticed a slight change in color when enable or disable the performance option "Use Graphics Processor", it also seems to shift the corp selection by one or more pixels. See the attached image.

My System Info:
Lightroom version: CC 2015.0.1 [ 1018573 ]
License: Creative Cloud
Operating system: Mac OS 10
Version: 10.10 [3]
Application architecture: x64
Logical processor count: 4
Processor speed: 2,6 GHz
Built-in memory: 8.192,0 MB
Real memory available to Lightroom: 8.192,0 MB
Real memory used by Lightroom: 738,7 MB (9,0%)
Virtual memory used by Lightroom: 4.672,3 MB
Memory cache size: 1.749,7 MB
Maximum thread count used by Camera Raw: 2
Camera Raw SIMD optimization: SSE2
Displays: 1) 1920x1200

Graphics Processor Info:
NVIDIA GeForce GT 330M OpenGL Engine

Check OpenGL support: Passed
Vendor: NVIDIA Corporation
Version: 3.3 NVIDIA-10.0.31 310.90.10.05b12
Renderer: NVIDIA GeForce GT 330M OpenGL Engine
LanguageVersion: 3.30

Installed Plugins:
1) Aperture/iPhoto Importer Plug-in
2) Canon Tether Plugin
3) ColorChecker Passport
4) HDR Efex Pro 2
5) jb Search Replace Transfer
6) SmugMug

Config.lua flags: None

Updated Toolkit: Adobe Camera Raw 9.0 for Lightroom 6.0 (build 1014445)
Updated Toolkit: Book Module 6.0 (build 1014445)
Updated Toolkit: Develop Module 6.0 (build 1014445)
Updated Toolkit: Import Module 6.0 (build 1014445)
Updated Toolkit: Library Module 6.0 (build 1014445)
Updated Toolkit: Map Module 6.0 (build 1014445)
Updated Toolkit: Print Module 6.0 (build 1014445)
Updated Toolkit: Slideshow Module 6.0 (build 1014445)
Updated Toolkit: Web Module 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.AgNetClient 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.AgWFBridge 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.Headlights 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.LibraryToolkit 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.MultiMonitorToolkit 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.archiving_toolkit 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.bridgetalk 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.catalogconverters 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.cef_toolkit 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.coretech_toolkit 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.curculio 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.discburning 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.email 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.export 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.ftpclient 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.help 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.iac 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.imageanalysis 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.layout_module_shared 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.pdf_toolkit 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.sdk 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.sec 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.socket 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.store_provider 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.substrate 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.ui 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.video_toolkit 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.webview_toolkit 6.0 (build 1014445)
Updated Toolkit: com.adobe.ag.xml 6.0 (build 1014445)
Updated Toolkit: com.adobe.wichitafoundation 6.0 (build 1014445)
AudioDeviceIOBlockSize: 512
AudioDeviceName: Built-in Output
AudioDeviceNumberOfChannels: 2
AudioDeviceSampleRate: 44100
Build: Uninitialized
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: 8192
GL_MAX_TEXTURE_UNITS: 8
GL_MAX_VIEWPORT_DIMS: 8192,8192
GL_RED_BITS: 8
GL_RENDERER: NVIDIA GeForce GT 330M OpenGL Engine
GL_SHADING_LANGUAGE_VERSION: 1.20
GL_STENCIL_BITS: 8
GL_VENDOR: NVIDIA Corporation
GL_VERSION: 2.1 NVIDIA-10.0.31 310.90.10.05b12
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
Photo of Rikk Flohr

Rikk Flohr, Official Rep

  • 4271 Posts
  • 814 Reply Likes
This was fixed in the CC 2015.1 / 6.1 Update.
Photo of Todd Seroka

Todd Seroka

  • 3 Posts
  • 0 Reply Likes
Finally found my answer. I have a pair of AMD HD 5xxx graphic cards which were not able to take advantage of the new LR 6 Graphics card acceleration as noted in the Adobe help. Then all of the sudden I was noticing all my Blues were off between the Library and Develop modules. Then it dawned on me I updated my AMD drivers which must have fixed the LR 6 graphic card acceleration issue as it now is using graphic acceleration. Since LR validates the graphic cards when you start the LR app it automatically started using graphic card acceleration which is great! But my images are noticeably different between the Library view and Develop view. At least I now know what's causing the issue. Earlier in the thread someone mentioned it was minor, but I disagree. As a photographer and one who is always recalibrating his monitors any change in color is a significant issue.
Photo of Célia Krebs

Célia Krebs

  • 2 Posts
  • 0 Reply Likes
Hi
To benefit from graphic processor I bought a Zotac Geforce GTX 750 zone edition (latest driver) which is recognised. But the result is an ugly difference between library & dev views ; I have LR 6.1.1.

I hope you will find a fix for that. Thanks.

Photo of Agustín Freschi

Agustín Freschi

  • 1 Post
  • 1 Reply Like
Windows 8.1, Dell U2711 profiled with X-Rite i1 Display Pro and a GeForce GTS 450. Lightroom CC 2015.1.1 with ACR 9.1.1.

I'm suffering the same discrepancies between Library/Develop modules from time to time, particularly with red tones. I have tried a secondary display window on the same calibrated monitor showing the loupe view and checked the inconsistency in tones.

Still trying to replicate the ¿bug? to know what is triggering it.
Photo of Viral Tarpara

Viral Tarpara

  • 2 Posts
  • 0 Reply Likes
I am currently trialing Lightroom 6/2015.1 ACR 9.1 and I have this exact problem. My display is calibrated but LR has color problem with Graphics Processing enabled when in Library view. Oddly, when I just compare an unedited file, the 2nd image (GPU on) faithfully renders the image when I use Windows Explorer previews as a reference. So in my case, enabling GPU processing actually fixes the color issue in the Develop mode, but keeps it in Library mode.

How do I fix this?

I am on Windows 10 Pro, Pentium G3258, 16GB RAM
Graphics Processor Info:
GeForce GTX 960/PCIe/SSE2
Check OpenGL support: Passed
Vendor: NVIDIA Corporation
Version: 3.3.0 NVIDIA 355.60
Renderer: GeForce GTX 960/PCIe/SSE2
LanguageVersion: 3.30 NVIDIA via Cg compiler

Photo of Célia Krebs

Célia Krebs

  • 2 Posts
  • 0 Reply Likes
Problem solved with upgrade to Windows 10
Don't ask me why !!
Photo of Viral Tarpara

Viral Tarpara

  • 2 Posts
  • 0 Reply Likes
Found the solution on this thread:

http://www.dpreview.com/forums/thread...

Basically add an sRGB icm profile in Windows Color Management and problem is solved. My profile was set to an icm provided by the manufacturer (AOC G2460)