as already pointed out here https://discourse.vvvv.org/t/9818, https://discourse.vvvv.org/t/9471 & https://discourse.vvvv.org/t/11184 there are at least two major issues when using vvvv on windows 8.x and high resolution (so called retina) screens.
The GUI gets garbled when scaling is enabled here
Control Panel\All Control Panel Items\Display
The gui distortion occurs when leaving (DX9) full screen for the first time.
This is related to the High DPI awareness of an application.The setting is stored in the registry under following path:
And looks like this:
H:\VVVVs\vvvv_45beta31.2_x64\vvvv.exe REG_SZ HIGHDPIAWARE
To make the vvvv gui go back to normal one can delete this entry or right-click on vvvv.exe -> Properties -> Compatibility Tab -> untick “Disable display scaling on high DPI Settings” & apply. Unfortunately the setting gets enabled again when leaving the fullscreen the next time.
First I thought the Program Compatibility Assistant was to blame and I disabled the service. But it didn’t help.
Monitoring the registry changes using Process Monitor shows that vvvv is making the changes itself!?
According to this article one way High DPI awareness can be set is by adding the following xml-snippet to your application manifest:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" > <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>true</dpiAware> </asmv3:windowsSettings> </asmv3:application> </assembly>
Fortunately embedded application manifests can be altered :)
Either using mt.exe from windows sdk or more conveniently using resource tuner.
With the modified manifest (see below) the distortion no longer occurs (according to my limited tests). Lieber @joreg could you please look into this?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="188.8.131.52" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>false</dpiAware> </asmv3:windowsSettings> </asmv3:application> </assembly>
Basically everything is said in this thread: https://discourse.vvvv.org/t/9818. Only thing to add is that after deleting the respective registry key you can go to fullscreen, but only once - at least that’s what I am experiencing. When leaving fullscreen the setting is back. Monitoring the registry with Process Monitor again it seems vvvv creates the entry itself…