Open Rocket on hi dpi screen - any way to zoom?

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Charles_McG

Ciderwright
Joined
Sep 12, 2013
Messages
3,796
Reaction score
2,573
Location
SE Wisconsin
I recently got a Surface Pro 4 and put OpenRocket on it this morning. It works fine, with the caveat that the icons and a lot of the text is tiny. Some text is scaled by the OS (Win 10) text and visibility options - but this has the effect of mangling the parts tree - the fonts are bigger, but not spaced vertically properly. Some fonts (like in the rocket view window) aren't scaled at all.

The default resolution is 2736x1824, and I'm thinking that OpenRocket is just not scaling well to the hi DPI. I've played with display setting without notable success. Any suggestions?

(I actually have the exact same issues with QuickBooks)

Charles
 
In general, that's a bunch of issues coming together, that basically the developers haven't noticed yet.

I'd love to hear a workaround, but I'm not aware of any. At some point we'll re-implement the UI to natively scale, but not necessarily soon. Sorry!

As for the why-- for one, the icons aren't vector graphics, they're fixed size bitmaps. I AM curious about the variation in which texts scale, and which don't. I booted it up on a Win 10 machine, and I think I see what you mean. The text underneath the new component icons, yea? I'll put in a issue report for those.
 
Last edited:
I find that screenshots don't really reflect what I see on screen. On a different device, they are at a different dpi than originally.

I can demo the component text problem, though. I'm attaching a screen shot from a surface pro 4 at 2736x1824 at the recommended 200% scaling. My work around has been to set the machine to 1920x1200 and 125% scaling. I loose some crispness of display, but at least all the icons and buttons are big enough to click. Even some Microsoft apps don't scale right - like notes in Outlook.
ImageUploadedByRocketry Forum1447855527.867690.jpg
 
So the issue I've run into on multiple older applications since I started using a 4K laptop display is that the text, buttons, and text fields don't scale properly.
No settings I've tried with screen scale settings, DPI settings, or windows compatibility settings have been able to fix the issue on a handful of these applications.
The consciences on various forums seems to be that the issue comes from an application telling the windows OS that it is DPI aware when it's really not.
The fix is to use an external manifest that overrides the default setting and lets Windows know that the application isn't really DPI aware so that Windows will scale the application properly.


There are 3 steps:
1 - Add a registry key that tells Windows to prefer an external manifest if it's present.
2 - Read out the existing .exe manifest.
3 - Change the manifest “dpiAware” setting from “true” to “false” and save it externally in the same directory as the .exe


This has worked GREAT on a few applications I've been having trouble with.
Of course Open Rocket isn’t an executable, it’s a Java bin, so for O.R. you have to create the manifests for the Java applications that run the bin
"C:\Program Files\Java\jre1.8.0_71\bin\java.exe"
and
"C:\Program Files\Java\jre1.8.0_71\bin\javaw.exe"
(You may only need to do one for the java.exe, but I did both.)


1 – Registry key. You just do this once, and then you can use external manifests on any application you want.
I followed the instructions on the webpage bellow
https://pocketnow.com/2016/01/25/hidpi-scalling-in-windows-10
That page is for Adobe products, so do use that manifest, just follow the instructions for adding the registry key.


2 – I use a free app called Manifest View to read out the existing manifest from the .exe
https://weblogs.asp.net/kennykerr/manifest-view-1-0
Keep in mind the text you copy and paste from this application is NOT formatted correctly.


3 – Create, format, edit and save the new external manifest file.
I just used an online xml formatting tool to correct the format.
https://www.webtoolkitonline.com/xml-formatter.html
Make sure to also remove all the extra lines with the – sign.
Copy the newly formatted text into a plain text file that is saved into the .exe directory with the same name as the application and .manifest at the end.
Example: java.exe.manifest
Don't forget to change the dpiAware setting from "true" to "false"!


Reboot and enjoy! The application should now be scaled correctly.
 
I've read about this approach with Adobe products, and had been considering trying it for QuickBooks.

I just gave it a try with Java / Openrocket 15.03. No love. Doesn't change before or after, nor with toggling the PreferExternalManifest DWORD value between 1 and 0.

The xml reforming tool you suggested gave me trouble. It wouldn't copy back out once the formatting was done. I found another.
 
I have the same problem with my 4k Dell laptop. I gave up and just use a different computer for OpenRocket.
 
Ok. The EXE version scales as expected. Made me take off my glasses and check for fuzz - but at least things are bigger.
 
Here's a copy and paste from my actual manifest file if that helps:

<assembly
xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"
xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<assemblyIdentity version="8.0.121.13" processorArchitecture="X86" name="Oracle Corporation, Java(tm) 2 Standard Edition" type="win32" />
<description>Java(TM) SE java process</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
</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="https://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>false</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
<compatibility
xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
</assembly>
 
Back
Top