I've had a MacBook Pro with Retina Display on loan for about a week, and have noticed that AutoIt GUIs don't handle high DPI displays well, defaulting to DWM scaling (fuzzy, blurry upscale). See here for more information:
http://blogs.msdn.com/b/patricka/archive/2010/04/15/why-does-a-high-dpi-setting-make-my-application-look-fuzzy-and-have-clipped-text.aspx
To return things to sharpness, we need to modify the manifest file, but pretty much every res hacker I used, and even Microsoft's own mt.exe tool would destroy AutoIt binaries, whether compiled with UPX or not.
As such, I've modified AutoIt3Wrapper.au3 to fit the task.
Specifically, when the user adds #AutoIt3Wrapper_Res_HiDpi=1 to the to their AutoIt3Wrapper directives, this section gets written to the manifest:
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>true</dpiAware> </asmv3:windowsSettings> </asmv3:application>
The header of the manifest has also been modified to read:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
Compile and replace AutoIt3Wrapper.exe, and SciTE will now be capable of compiling DPI aware GUIs. Just running Go (F5) will show normal DWM scaling, you have to compile to see the results (click to see the full-sized image to appreciate how blurry things can get).

Designing them so scaled up text doesn't run off edges, or higher resolution images are served is your own look out
Attached Files
Edited by unexpectedpanda, 27 August 2012 - 08:26 AM.





