Nvidia and dithering controls..how to enable?

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by jarablue, Feb 6, 2021.

  1. jarablue

    jarablue Member Guru

    Messages:
    120
    Likes Received:
    10
    GPU:
    nVidia 960m 2GB
    Shouldn't dithering controls be in the nvcp already? How can I changing my dithering settings on my 2070 without messing with my registry? Kind of mind boggling how this feature isn't in the control panel by now.
     
  2. Robert84MK

    Robert84MK Member

    Messages:
    10
    Likes Received:
    12
    GPU:
    RTX 2080Ti StrixOC
    Only Reg Edit works.

    How to enable/disable dithering:

    • Export your registry settings from:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\State\DisplayDatabase\YOUR_DISPLAY_NAME_HERE
      or
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\DisplayDatabase\YOUR_DISPLAY_NAME_HERE
    • Add into your exported registry file one of the following setting:
    1. ditherState – Enabled; ditherBits – 6 bit; ditherMode – SpatialDynamic
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,00,00,00,ed,00,00,00
    2. ditherState – Enabled; ditherBits – 6 bit; ditherMode – SpatialStatic
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,00,01,ef,00,00,00
    3. ditherState – Enabled; ditherBits – 6 bit; ditherMode – SpatialDynamic2x2
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,00,02,f0,00,00,00
    4. ditherState – Enabled; ditherBits – 6 bit; ditherMode – SpatialStatic2x2
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,00,03,f1,00,00,00
    5. ditherState – Enabled; ditherBits – 6 bit; ditherMode – Temporal
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,00,04,f2,00,00,00
    6. ditherState – Enabled; ditherBits – 8 bit; ditherMode – SpatialDynamic
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,00,ef,00,00,00
    7. ditherState – Enabled; ditherBits – 8 bit; ditherMode – SpatialStatic
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,01,f0,00,00,00
    8. ditherState – Enabled; ditherBits – 8 bit; ditherMode – SpatialDynamic2x2
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,02,f1,00,00,00
    9. ditherState – Enabled; ditherBits – 8 bit; ditherMode – SpatialStatic2x2
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,03,f2,00,00,00
    10. ditherState – Enabled; ditherBits – 8 bit; ditherMode – Temporal
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,04,f3,00,00,00
    11. ditherState – Enabled; ditherBits – 10 bit; ditherMode – SpatialDynamic
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,00,f0,00,00,00
    12. ditherState – Enabled; ditherBits – 10 bit; ditherMode – SpatialStatic
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,01,f1,00,00,00
    13. ditherState – Enabled; ditherBits – 10 bit; ditherMode – SpatialDynamic2x2
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,02,f2,00,00,00
    14. ditherState – Enabled; ditherBits – 10 bit; ditherMode – SpatialStatic2x2
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,03,f3,00,00,00
    15. ditherState – Enabled; ditherBits – 10 bit; ditherMode – Temporal
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,04,f4,00,00,00
    16. ditherState – Default
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,00,00,01,04,f1,00,00,00
    17. ditherState – Disabled
      "DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,02,00,01,04,f3,00,00,00
     
    fluidz, Mufflore and chinobino like this.
  3. Mufflore

    Mufflore Ancient Guru

    Messages:
    12,839
    Likes Received:
    1,365
    GPU:
    Aorus 3090 Xtreme
    ^
    Then double click to add back to registry :)
     
    fluidz likes this.
  4. P_G19

    P_G19 Member

    Messages:
    22
    Likes Received:
    2
    GPU:
    GTX 1660 / 6GB
    On that topic too... I think somehow some dithering is applied when i use RGB limited output.
    So why not possible/implemented on full RGB output?
     

  5. jarablue

    jarablue Member Guru

    Messages:
    120
    Likes Received:
    10
    GPU:
    nVidia 960m 2GB
    What one? What registry entry do I use? I have a 10bit panel. Not sure what one of those settings I am supposed to use.
     
  6. Mufflore

    Mufflore Ancient Guru

    Messages:
    12,839
    Likes Received:
    1,365
    GPU:
    Aorus 3090 Xtreme
    Try them, see which you prefer.
    Only 5 of the entries are for 10bit.
     
  7. jarablue

    jarablue Member Guru

    Messages:
    120
    Likes Received:
    10
    GPU:
    nVidia 960m 2GB
    I think I'll just stick with the 10bit setting in my control panel. It works and doesn't seem to be any drawbacks. Thanks again for posting these settings!
     
  8. PPC

    PPC Active Member

    Messages:
    62
    Likes Received:
    8
    GPU:
    3070
    10bit only works in color controlled applications, wont do anything on desktop or in games (dont know any game that uses 10bit).

    BTW why would i want to use dithering anyway? Is some dithering used by default so you change options with these settings or do you introduce dithering with these settings?
     
  9. Mufflore

    Mufflore Ancient Guru

    Messages:
    12,839
    Likes Received:
    1,365
    GPU:
    Aorus 3090 Xtreme
    HDR games (those that arent fake HDR).

    To prevent banding.
    Many displays dont show small differences in colour, they look the same colour, then suddenly jump to the next shade showing a colour band.
    When they are fed a dithered image this doesnt happen.
     
    chinobino and PPC like this.
  10. PPC

    PPC Active Member

    Messages:
    62
    Likes Received:
    8
    GPU:
    3070
    Hmmm ok, thanks for the clarification, ill try it out.

    EDIT: Hmmm i tried using 10 bit setting in NVCPL and enabling 10 bit dithering but saw no difference with either setting. Tried one of the 8 bit settings with 8 bit selected in NVCPL and i still cant tell any difference anywhere. I merged it into the registry and reloged, does this need full restart to work or? Do you have any patterns where i should be able to see a clear difference, i dont seem to be finding any.
     
    Last edited: Feb 14, 2021

  11. hemla

    hemla Master Guru

    Messages:
    208
    Likes Received:
    15
    GPU:
    nvidia
    Shouldn't NVInspector have such option where you could select and enable dithering per application?
     
  12. teleguy

    teleguy Maha Guru

    Messages:
    1,352
    Likes Received:
    190
    GPU:
    GTX 1070/Vega 56
  13. hemla

    hemla Master Guru

    Messages:
    208
    Likes Received:
    15
    GPU:
    nvidia
    I know but it doesn't work for me, exe keeps crashing. Anyway if dithering is programmed in NVIDIA drivers then shouldn't NVInspector be able to enable it?
     
  14. Mufflore

    Mufflore Ancient Guru

    Messages:
    12,839
    Likes Received:
    1,365
    GPU:
    Aorus 3090 Xtreme
    See post 2, first sentence.
    Any app that could do it would change those registry entries, there will be no difference.
    You can make yourself a batch file to do it/undo it.
     
  15. Neo Cyrus

    Neo Cyrus Ancient Guru

    Messages:
    9,895
    Likes Received:
    699
    GPU:
    Asus TUF 3080 OC
    Can someone explain to me what exactly this is? We're not referring to dithering as in FRC, right? That should just appear as the next bit rate to select in the options in my experience. Is this forced dithering on top of whatever bit rate is supported, or is this something else?
     

  16. Mufflore

    Mufflore Ancient Guru

    Messages:
    12,839
    Likes Received:
    1,365
    GPU:
    Aorus 3090 Xtreme
  17. Mufflore

    Mufflore Ancient Guru

    Messages:
    12,839
    Likes Received:
    1,365
    GPU:
    Aorus 3090 Xtreme
    In your scenario, the monitor will determine whether it uses 'its' FRC mode or not, assuming it even has one.
    ie If you have an 8 bit panel that can display 10 bit, it will enable FRC when you select 10 bit colour.
    Some monitors allow you to choose between native and dithered. ie a true 10 bit panel monitor might let you select 8 bit + FRC mode in its settings.

    These registry entries are dithering provided by the NVidia gfx card driver, affecting the output to the display.
    It will use FRC as well but there are many more methods, choose what looks best.
    Static uses a set sequence of patterns to alternate between, you might see the changes/flicker.
    Temporal uses random patterns that should make it more difficult to notice flicker.
    Dynamic appears to use noise + a modulus to create patterns, another way to reduce flicker.

    Your PC monitor/TV will only have one method of dithering, if it does dithering.
     
    Last edited: Feb 22, 2021
    chinobino and Neo Cyrus like this.
  18. fluidz

    fluidz Master Guru

    Messages:
    250
    Likes Received:
    32
    GPU:
    Msi trio x 2080ti
    I calibrated my display using DisplayCal and it introduced banding/slight green tint to the grayscale, I'm quite surprised that this dithering tweak makes the grayscale look much cleaner and I'm seeing a positive difference in some games where gradient banding is an issue. But after a while I started to notice that everything is a shade or two brighter - heading over to the Lagom monitor test webpage I'm seeing clipping in the white saturation test, box 254 is no longer visible.

    Lagom white saturation test : http://www.lagom.nl/lcd-test/white.php#whitetest.png (I downloaded the image and opened it in Windows photos as not all web browsers show the same result)

    I tested all dithering algorithms, both 8 and 10 bit modes (8 and 10 are indistinguishable on my 8bit monitor), yet white saturation clipping still occurs with or without a icc profile installed. As soon as I disable dithering, box 254 is visible again. Just something to bear in mind.

    Gpu : Nvidia 2080ti, Windows 10 20h2. Acer xb271hu 8bpc monitor,
     
    Last edited: Feb 28, 2021
    Mufflore and big ROBOT bill like this.
  19. big ROBOT bill

    big ROBOT bill Master Guru

    Messages:
    813
    Likes Received:
    844
    GPU:
    ROG Strix 3060Ti
    That Lagom test site is excellent thank you :)
     
    fluidz likes this.
  20. Terepin

    Terepin Master Guru

    Messages:
    774
    Likes Received:
    58
    GPU:
    MSI 2070S GAMING X
    This doesn't work. I used Calibration Tools and the value is present in registry, but it does nothing.
     

Share This Page