MonitorSizeOverride; The Only DepthHack You'll Ever Need...
  1 / 4    
So I was poking around like I usually do and came across this little morsel... I'm not sure when they introduced this Key and it's basically 'hidden' as nothing Sets it or Adds it but if you add it manually it will be used in place of the default MonitorSize. I didn't have too much time to test it and post this but as far as I could see it was working on everything except CM. I was using 364.72 Drivers, like I said I'm not sure when it came into existence... :) Edit:It's looking like this may have been here all along, tried it on 320.49 Drivers and it works... basically I was watching what was happening when running a game, I set the MonitorSize and the game read it, the Drivers changed it, the game read it again and afterwards it attempted to read this non-existent Value, MonitorSizeOverride... I created the Value and tried it again, it did all the same stuff but only this time it actually read and most importantly [u]used[/u] the Value stored in MonitorSizeOverride. It also looks like the Drivers aren't doubling/halving the MonitorSizeOverride Value like they do with the MonitorSize Value, so instead of the usual 24" Monitor gets a MonitorSize Value of 48 with MonitorSizeOverride a 24" Monitor would get a Value of 24 and just like all the DepthHacks the lower you go the more you increase the Depth Multiplier... so technically a MonitorSizeOverride Value of 1/2 your MonitorSize Value(48/2=24) would just give you normal/100% Depth, 1/4 of MonitorSize(48/4=12) would equal 200% Depth, 1/8 should relativity equal 400%(48/8=5), and so on... tl;dr ---------------------------------------------------------------------------------------------- How and Why to use MonitorSizeOverride... There's basically 2 reasons you'd want to set MonitorSizeOverride 1 Your MonitorSize Value isn't equal to your actual monitor/screen size, some examples would be you're using a DLP Projector and the Drivers have no way of knowing what screen size you're using without being told, for whatever reason the Drivers detect your Display correctly but give an incorrect MonitorSize, you needed to use an EDID override, etc. 2 You want or need more Depth... even with a correct MonitorSize, 100% Depth may not give you enough separation, an example of this would be the separation in-game is lower than the distance between your eyes(IPD) or your viewing distance is greater than norm. It's as simple as adding MonitorSizeOverride(REG_DWORD) to the Stereo3D Key, you can do this manually. Regedit > HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D > New > DWORD Value > MonitorSizeOverride > Decimal Value ...or you can use one of the following scripts, this should only need to be done at most once after every Driver install. Batch Version Change MonitorSize, Save as *.bat, Run as Admin: [code]@Echo Off Title MonitorSizeOverride Set "$MonitorSize=24" if Exist "%PROGRAMFILES(X86)%" Set "$Wow=Wow6432Node\" Set "$Key="HKLM\SOFTWARE\%$Wow%NVIDIA Corporation\Global\Stereo3D" /v "MonitorSizeOverride"" Reg Add %$Key% /t REG_DWORD /d %$MonitorSize% /f&Pause&Goto :Eof[/code] VBS Version Change MonitorSize, Save as *.vbs and Run: [code]If WScript.Arguments.Length = 0 Then Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "WScript","""" & WScript.ScriptFullName & """ RunAsAdmin",,"RunAs",1 WScript.Quit End if MonitorSize = 21 Set objShell = CreateObject("WScript.Shell") objShell.RegWrite "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\"_ & "MonitorSizeOverride","&H" & Hex(MonitorSize),"REG_DWORD"[/code]Notes: Automatically converts MonitorSize to Hexadecimal. Reg Version Change MonitorSize, Save as *.reg, Merge into Registry: [code]Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\NVIDIA Corporation\Global\Stereo3D] "MonitorSizeOverride"=dword:00000018[/code]Notes:Value must be in Hex... converter [url=http://www.binaryhexconverter.com/decimal-to-hex-converter]here[/url]... also Remove Wow6432Node\ on x86/32bit Machines.
So I was poking around like I usually do and came across this little morsel... I'm not sure when they introduced this Key and it's basically 'hidden' as nothing Sets it or Adds it but if you add it manually it will be used in place of the default MonitorSize. I didn't have too much time to test it and post this but as far as I could see it was working on everything except CM. I was using 364.72 Drivers, like I said I'm not sure when it came into existence... :)

Edit:It's looking like this may have been here all along, tried it on 320.49 Drivers and it works... basically I was watching what was happening when running a game, I set the MonitorSize and the game read it, the Drivers changed it, the game read it again and afterwards it attempted to read this non-existent Value, MonitorSizeOverride... I created the Value and tried it again, it did all the same stuff but only this time it actually read and most importantly used the Value stored in MonitorSizeOverride.

It also looks like the Drivers aren't doubling/halving the MonitorSizeOverride Value like they do with the MonitorSize Value, so instead of the usual 24" Monitor gets a MonitorSize Value of 48 with MonitorSizeOverride a 24" Monitor would get a Value of 24 and just like all the DepthHacks the lower you go the more you increase the Depth Multiplier... so technically a MonitorSizeOverride Value of 1/2 your MonitorSize Value(48/2=24) would just give you normal/100% Depth, 1/4 of MonitorSize(48/4=12) would equal 200% Depth, 1/8 should relativity equal 400%(48/8=5), and so on...

tl;dr ----------------------------------------------------------------------------------------------

How and Why to use MonitorSizeOverride...

There's basically 2 reasons you'd want to set MonitorSizeOverride

1 Your MonitorSize Value isn't equal to your actual monitor/screen size, some examples would be you're using a DLP Projector and the Drivers have no way of knowing what screen size you're using without being told, for whatever reason the Drivers detect your Display correctly but give an incorrect MonitorSize, you needed to use an EDID override, etc.

2 You want or need more Depth... even with a correct MonitorSize, 100% Depth may not give you enough separation, an example of this would be the separation in-game is lower than the distance between your eyes(IPD) or your viewing distance is greater than norm.

It's as simple as adding MonitorSizeOverride(REG_DWORD) to the Stereo3D Key, you can do this manually.
Regedit > HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D > New > DWORD Value > MonitorSizeOverride > Decimal Value ...or you can use one of the following scripts, this should only need to be done at most once after every Driver install.

Batch Version
Change MonitorSize, Save as *.bat, Run as Admin:
@Echo Off
Title MonitorSizeOverride

Set "$MonitorSize=24"

if Exist "%PROGRAMFILES(X86)%" Set "$Wow=Wow6432Node\"
Set "$Key="HKLM\SOFTWARE\%$Wow%NVIDIA Corporation\Global\Stereo3D" /v "MonitorSizeOverride""
Reg Add %$Key% /t REG_DWORD /d %$MonitorSize% /f&Pause&Goto :Eof

VBS Version
Change MonitorSize, Save as *.vbs and Run:
If WScript.Arguments.Length = 0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "WScript","""" & WScript.ScriptFullName & """ RunAsAdmin",,"RunAs",1
WScript.Quit
End if

MonitorSize = 21

Set objShell = CreateObject("WScript.Shell")
objShell.RegWrite "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\"_
& "MonitorSizeOverride","&H" & Hex(MonitorSize),"REG_DWORD"
Notes: Automatically converts MonitorSize to Hexadecimal.

Reg Version
Change MonitorSize, Save as *.reg, Merge into Registry:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\NVIDIA Corporation\Global\Stereo3D]
"MonitorSizeOverride"=dword:00000018
Notes:Value must be in Hex... converter here... also Remove Wow6432Node\ on x86/32bit Machines.
#1
Posted 04/13/2016 07:38 PM   
Is it a left over from the old stereoscopic/pre 3D Vision drivers? [img]http://3dvision-blog.com/wp-content/uploads/2010/05/nvidia-old-stereo-3d-driver.jpg[/img]
Is it a left over from the old stereoscopic/pre 3D Vision drivers?

Image

#2
Posted 04/13/2016 08:27 PM   
That I'm not sure... but I just rolled Drivers back to 320.49 and it stills calls for a MonitorSizeOverride Value after it calls for a MonitorSize Value, so all the time spent on DepthHacks was a complete waste of time... it's been there all along!? For eff's sake...
That I'm not sure... but I just rolled Drivers back to 320.49 and it stills calls for a MonitorSizeOverride Value after it calls for a MonitorSize Value, so all the time spent on DepthHacks was a complete waste of time... it's been there all along!? For eff's sake...
#3
Posted 04/14/2016 12:28 AM   
[quote="TsaebehT"]...Notes: Automatically doubles MonitorSize Value, like the Drivers[/quote] What's the purpose of doubling the value? I'm a bit confused here, because IIRC the old depth hack you would generally set your monitor size to be half of it's actual size to double the amount of depth. So, for this to work, would I still enter 1/2 my screen size? 1/4? or just the actual size of the screen?
TsaebehT said:...Notes: Automatically doubles MonitorSize Value, like the Drivers


What's the purpose of doubling the value? I'm a bit confused here, because IIRC the old depth hack you would generally set your monitor size to be half of it's actual size to double the amount of depth. So, for this to work, would I still enter 1/2 my screen size? 1/4? or just the actual size of the screen?

3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot

Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king

#4
Posted 04/14/2016 01:08 AM   
OK I think I get it I can modify the registry entry and then I need to know how do I choose my monitors size if I have a triple screen setup. I use 3 projectors and the image is about 110" Wide not sure what the diagonal is??
OK I think I get it I can modify the registry entry and then I need to know how do I choose my monitors size if I have a triple screen setup. I use 3 projectors and the image is about 110" Wide not sure what the diagonal is??

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#5
Posted 04/14/2016 01:25 AM   
@DJ-RK [s]The Drivers double the Value, so 100% Depth roughly equals the average person's eye separation/IPD... a 24" Monitor uses an equivalent of a 48" Value, if it didn't 50% Depth would be the average IPD. I've always doubled the Value in my DepthHacks, to keep inline with the Drivers, that way if you were just trying to adjust for an incorrect MonitorSize Value, like on a DLP screen, 100% Depth would be equal to what the Drivers would do if you could select 120" and lower Values would increase Depth beyond, DepthHack. So in the end it's up to you, if you want to correct an incorrectly reported MonitorSize set it to your actual MonitorSize, if you want to double the Depth, either remove line 4 and use your actual MonitorSize or change MonitorSize to half your actual MonitorSize... and if you want even more Depth go even lower in size.[/s] ...Odd the Drivers don't seem to be doubling MonitorSizeOverride's Value so you may have to tinker with it a bit, not sure if you were using one of mine where 1/2 = 1 or one where 1/2 = 1/2. @The_Nephilim Part of me wants to say whatever the center/single screen's diagonal size is.... the other part wants to say there's an equation to figure out... it depends on how/if the Drivers account for aspect ratios... Helifax might know what's going on there, I'd just give it a try and measure 100% Depth/Infinity at the screen and adjust as necessary... just take whatever your current MonitorSize/Depth is at the screen and adjust from there. Say your getting a 1/4 of your IPD then set it for a 1/4 of the current Value, 1/3 of your IPD 1/3 the current Value, and so on... [s]just remember to account for the default MonitorSize already being doubled in decimal, 24" = 48 and how/what you're putting the Value into MonitorSizeOverride.[/s]...the Drivers don't seem to be doubling this?
@DJ-RK
The Drivers double the Value, so 100% Depth roughly equals the average person's eye separation/IPD... a 24" Monitor uses an equivalent of a 48" Value, if it didn't 50% Depth would be the average IPD.

I've always doubled the Value in my DepthHacks, to keep inline with the Drivers, that way if you were just trying to adjust for an incorrect MonitorSize Value, like on a DLP screen, 100% Depth would be equal to what the Drivers would do if you could select 120" and lower Values would increase Depth beyond, DepthHack.

So in the end it's up to you, if you want to correct an incorrectly reported MonitorSize set it to your actual MonitorSize, if you want to double the Depth, either remove line 4 and use your actual MonitorSize or change MonitorSize to half your actual MonitorSize... and if you want even more Depth go even lower in size.


...Odd the Drivers don't seem to be doubling MonitorSizeOverride's Value so you may have to tinker with it a bit, not sure if you were using one of mine where 1/2 = 1 or one where 1/2 = 1/2.

@The_Nephilim
Part of me wants to say whatever the center/single screen's diagonal size is.... the other part wants to say there's an equation to figure out... it depends on how/if the Drivers account for aspect ratios... Helifax might know what's going on there, I'd just give it a try and measure 100% Depth/Infinity at the screen and adjust as necessary... just take whatever your current MonitorSize/Depth is at the screen and adjust from there.

Say your getting a 1/4 of your IPD then set it for a 1/4 of the current Value, 1/3 of your IPD 1/3 the current Value, and so on... just remember to account for the default MonitorSize already being doubled in decimal, 24" = 48 and how/what you're putting the Value into MonitorSizeOverride....the Drivers don't seem to be doubling this?
#6
Posted 04/14/2016 01:41 AM   
@TsaebehT, Well a long time ago I measured my ocular distance (Pupil to Pupil. and it was about 3" so I look at a spot in the game that seems thae farthest out and set the separation at 3"... I am unsure if this is the best solution but it looks damned good to me.. I would be up for more technical figures but this is what I came up with a while back when using the debpth hacks.. So do I need to run the BAT file every time or does it set it permantly??
@TsaebehT, Well a long time ago I measured my ocular distance (Pupil to Pupil. and it was about 3" so I look at a spot in the game that seems thae farthest out and set the separation at 3"...

I am unsure if this is the best solution but it looks damned good to me.. I would be up for more technical figures but this is what I came up with a while back when using the debpth hacks..

So do I need to run the BAT file every time or does it set it permantly??

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#7
Posted 04/14/2016 02:54 AM   
Does the concept of forcing a smaller monitor size to increase depth still apply here?
Does the concept of forcing a smaller monitor size to increase depth still apply here?

1080 GTX 8GB SLI | I7-4770K@4.5GHz | 16GB RAM | Win10x64
Asus ROG Swift PG278Q | 3D Vision 2

#8
Posted 04/14/2016 03:34 AM   
Ok I was able to mess around with it a bit more, I was just using an exaggerated MonitorSizeOverride Value of 1 to easily see if it was triggering... after using it a bit more it I'm noticing the Drivers don't seem to be doubling the Value, so I updated the bat script above. On my setup I set it to 65" and was getting roughly 2/3 of my IPD(approx. 2.75") so I changed it to 44" and it works flawlessly... might even be a bit more than my usual DepthHack. @The_Nephilim You'll only need to run the script once after a Driver install and that's it! No more locking Keys or running scripts every time you want to play something. :) @Arioch1 Yes, same principle other than the Drivers aren't doubling the MonitorSizeOverride Value... so it may be half of whatever you were using before. Still blows my mind this has been here all along...
Ok I was able to mess around with it a bit more, I was just using an exaggerated MonitorSizeOverride Value of 1 to easily see if it was triggering... after using it a bit more it I'm noticing the Drivers don't seem to be doubling the Value, so I updated the bat script above.

On my setup I set it to 65" and was getting roughly 2/3 of my IPD(approx. 2.75") so I changed it to 44" and it works flawlessly... might even be a bit more than my usual DepthHack.

@The_Nephilim
You'll only need to run the script once after a Driver install and that's it! No more locking Keys or running scripts every time you want to play something. :)

@Arioch1
Yes, same principle other than the Drivers aren't doubling the MonitorSizeOverride Value... so it may be half of whatever you were using before.

Still blows my mind this has been here all along...
#9
Posted 04/14/2016 03:40 AM   
Sweet this finding is huge.. thnx
Sweet this finding is huge.. thnx

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#10
Posted 04/15/2016 12:44 AM   
Thank you, Works Great.
Thank you,

Works Great.

Gigabyte Z370 Gaming 7 32GB Ram i9-9900K GigaByte Aorus Extreme Gaming 2080TI (single) Game Blaster Z Windows 10 X64 build #17763.195 Define R6 Blackout Case Corsair H110i GTX Sandisk 1TB (OS) SanDisk 2TB SSD (Games) Seagate EXOs 8 and 12 TB drives Samsung UN46c7000 HD TV Samsung UN55HU9000 UHD TVCurrently using ACER PASSIVE EDID override on 3D TVs LG 55

#11
Posted 04/15/2016 02:10 AM   
Anyone else finding it really weird not having to run a depthhack/script prior to playing a game? Lol. I sure am... :)
Anyone else finding it really weird not having to run a depthhack/script prior to playing a game? Lol. I sure am... :)
#12
Posted 04/18/2016 03:31 AM   
Definitely an awesome find, this thread needs to replace the one linked on helixblog.
Definitely an awesome find, this thread needs to replace the one linked on helixblog.

#13
Posted 04/18/2016 03:47 AM   
[quote="TsaebehT"]Anyone else finding it really weird not having to run a depthhack/script prior to playing a game? Lol. I sure am... :)[/quote] I know I am still trying to click the shortcuts on desktop weird muscle memory ..lol
TsaebehT said:Anyone else finding it really weird not having to run a depthhack/script prior to playing a game? Lol. I sure am... :)


I know I am still trying to click the shortcuts on desktop weird muscle memory ..lol

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#14
Posted 04/19/2016 02:49 AM   
What's the difference between this and the "MonitorSize" that's been around for ages? I'm not quite sure I'm understanding...And why does the title say "DepthHacks Obsolete"...If depth hacks were obsolete then the very thing being explained in the OP wouldn't work.
What's the difference between this and the "MonitorSize" that's been around for ages? I'm not quite sure I'm understanding...And why does the title say "DepthHacks Obsolete"...If depth hacks were obsolete then the very thing being explained in the OP wouldn't work.

#15
Posted 04/19/2016 12:43 PM   
  1 / 4    
Scroll To Top