November 24, 2017

Microsoft Surface Pro 4, Windows 10, and High-DPI Display Scaling Fix for Sony Vegas Pro 13

In case you haven’t already noticed, Windows 10 applications graphical icons and text fonts sometimes do not scale properly when viewed on high-DPI displays screens which are becoming standard on various portable computer systems such as the Microsoft Surface Pro 4.

Sony Vegas Pro 13 Box

Sony Vegas Pro v13 Retail Box.

Compounding the problem is the smaller 12.3 inch screen size on the SP4 which has a native resolution of 2736 x 1824.  So things that are small and not properly scaling appear really small.

Additionally, getting a larger display doesn’t solve the problem either.

For instance, applications not properly scaling and shown on a high-DPI display such as the Dell P2715Q 27″ Ultra HD 4K monitor still have disproportionately sized images and text. The reason for this is because the high-DPI monitor, though larger in size, also has increased pixel density.

So who is to blame for these scaling problems?

Should we placed the burden of properly scaling applications solely on the shoulders of Microsoft Windows 10? Or is it primarily the responsibility of the software manufacturer to be responsible for designing software capable of correctly adjusting itself to the high-DPI environment?

In addition, how much blame should be assigned to the computer system manufacturer for offering products with high-DPI display capabilities without ensuring backward compatibility by coordinating with industry software developers?

Though this article focuses on fixing Sony Vegas Pro v13, it is not the only leading media software failing to properly scale when displayed on high-DPI displays.

In this regard, many of Adobe’s flagship applications, to include Photoshop, Premiere Pro, Bridge, and InDesign, also fail to properly scale when shown on high-DPI displays.

Coincidentally, a variation of the fix used in this article for Sony Vegas Pro is also being used on Adobe products making them once again usable on systems using high-DPI displays.

image - Ants ReadingAs one blogger described improperly scaled graphics and text as being the size for “ants to read.”

 

Test System Specifications
  • Microsoft 12.3″ Surface Pro 4 Multi-Touch Tablet
  • Intel Core i7 6th Gen (Skylake)
  • 8GB RAM, 256GB SSD
  • 2736 x 1824 Screen Resolution (267 ppi)
  • Windows 10 Pro (x64)
  • Sony Vegas Pro 13.0 build 453

The in-house scaling feature in Windows was set to the recommended enlargement to 200%. Even though I was able to go up to 300%, this was not having the desired effect. In some cases only the font would enlarge past its intended field size. So this was not even a quick-fix option.

Lets first start by looking at a couple of before and after comparison images below.

By hovering your mouse over the image and by moving the scale from left to right you can see the difference between the non-scaling GUI on the left compared to the properly scaling GUI image on the right.

This side by side comparison helps demonstrate the benefits of apply the fix making a once too small GUI usable again. I’ve included two version of the side by side comparison images, a full screen shot of the entire Sony Vegas Pro GUI, and a zoomed in version of the upper left hand corner.

Compare Illustration 1: Sony Vegas Pro GUI full screen

 

Compare Illustration 2: Sony Vegas Pro GUI cross section view

Below I walk you through the step-by-step procedure to apply the fix using screen captures of the relevant screens so you will feel comfortable using this fix.

A companion video capture of the procedure has also been prepared and will be attached to this article later.

Some things that I wont spend time discussing are the technical details surrounding the areas of Windows configured to apply the fix. This includes the Windows system registry, PreferExternalManifest designations, and issues pertaining to the need to obtain administrator access privileges to your system’s protected areas.

Other things not going to be covered in will be manufacture conventions. This includes concepts and terms pertaining to DPI (dots per inch) and PPI (pixels per inch).

These types of discussions regarding various standards imposed on products by manufactures are interesting, however, are beyond the scope of this article.

Before Proceeding

What worked for me may not work for you.

So do what ever you need to protect your system and data before deciding to apply the procedure outlined in this article.

Step 0: Prepare System
Backup Files
Create System Restore Point
Application Software
Step 1: Download & Install Resource Hacker

The first thing you will need to do is download and install a small program called Resource Hacker. See steps below.

Download Resource Hacker
Install Resource Hacker

We won’t need to run Resource Hacker just yet. Proceed to the next step.

Step 2: Access and open up Windows System Registry

Next, open up the Windows System Registry and make a couple of adjustments.

Alt TEXT

Step 3: Use Resource Hacker to Explore Sony Vegas EXE file

Summary:

In this step we use Resource Hacker program to access Sony Vegas Pro’s exe file information for its internal manifest information.

We then copy out the internal manifest information, and the close Sony Vegas Pro’s EXE file without making any changes.

We then apply the extracted internal manifest information to the next step.

Run Resource Hacker
Use Resource Hacker to open Vegas130.exe
Open Resource Hacker
Navigate to and open Vegas130.exe
Step 4: Create External Sony Vegas Manifest file

Summary:

In this step we create an external manifest file for Sony Vegas Pro’s EXE (Vegas130.exe).

We do this by opening note pad using the “Run as Administor” option.

We then past the Internal Manifest information into this text file.

We then save the newly created text file as Vegas130.exe.manifest inside Sony Vegas Pro’s program directory the same place where Vegas130.exe is stored.

At the end of this step, we would have completed all the changes needed to configure Windows and Sony Vegas Pro to now scale its GUI properly when using a high-DPI display.

Open Notepad.exe as Administrator
Paste Manifest Info into Notepad
Save File as Vegas130.exe.manifest
Exit programs and Restart Windows
=================================================
Definitions:

API-Aware

An API-aware process is a process that properly updates its process status through the type-specific API that is provided, such as COBOL or Crystal.

======================================
DPI and Windows

https://en.wikipedia.org/wiki/Dots_per_inch

How Microsoft Windows handles DPI scaling[edit] Displays with high pixel densities were not common up to the Windows XP era. High DPI displays became mainstream around the time Windows 8 was released. Display scaling by entering a custom DPI irrespective of the display resolution is a feature of Microsoft Windows since Windows 95. [5] Windows XP introduced the GDI+ library which allows resolution-independent text scaling. [6]

Windows Vista introduced support for programs to declare themselves to the OS that they are high-DPI aware via a manifest file or using an API.[7][8] For programs that do not declare themselves as DPI-aware, Windows Vista supports a compatibility feature called DPI virtualization so system metrics and UI elements are presented to applications as if they are running at 96 DPI and the Desktop Window Manager then scales the resulting application window to match the DPI setting. Windows Vista retains the Windows XP style scaling option which when enabled turns off DPI virtualization for all applications globally. DPI virtualization is a compatibility option as application developers are all expected to update their apps to support high DPI without relying on DPI virtualization.
====================

SetProcessDPIAware function
Link: https://msdn.microsoft.com/en-us/library/ms633543(VS.85).aspx

Remarks
Warning
SetProcessDPIAware is available for use only in the operating systems specified in the Requirements section. This method may have unexpected behavior in subsequent versions of the operating system. Use SetProcessDpiAwareness instead.

DLLs should accept the dpi setting of the host process rather than call SetProcessDPIAware themselves. To be set properly, dpiAware should be specified as part of the application (.exe) manifest. (dpiAware defined in an embedded DLL manifest has no affect.) The following markup shows how to set dpiAware as part of an application (.exe) manifest.
XML

true

============================

Writing DPI-Aware Desktop and Win32 Applications
https://msdn.microsoft.com/en-us/library/dn469266%28v=vs.85%29.aspx

(See. Using an Application Manifest)

Declaring DPI Awareness
When an application declares itself to be DPI-aware, it is a statement specifying that the application behaves well at DPI settings up to 200 percent DPI. In Windows XP, DPI awareness has no impact on the application or the operating system, but it has meaning on both Windows Vista and later versions. In Windows Vista and later versions, when DPI virtualization is enabled, applications that are not DPI-aware are scaled, and applications receive virtualized data from the system APIs, such as the GetSystemMetric function.
Note By default, the DPI virtualization feature is enabled only when the DPI display setting is greater than 120 (125 percent).

Although the Win32 API provides a function declaring an application as DPI-aware, its use is discouraged, except in very specific circumstances. For more information, see the SetProcessDPIAware function. In general, using an application manifest is the recommended process for declaring an application to be DPI-aware.
Using an Application Manifest
To declare your application to be DPI-aware, add to the application manifest. Here is an example of how to use the element in an application manifest.

true

====================

High DPI Settings in Windows
Link: http://www.kynosarges.org/WindowsDpi.html

============================

https://blogs.msdn.microsoft.com/chuckw/2013/09/10/manifest-madness/k

============================
Application Manifests:

https://msdn.microsoft.com/en-us/library/aa374191%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

Fixing Vegas Pro 13 Initializing GPU-accelerated video processing Crash

Today I resolved a Sony Vegas Pro 13 startup crash problem which started happening after I upgrading my HP DV6-6190US Pavilion laptop’s operating system from WIndows 7 Home Premium x64 to Windows 10 Home x64.

The purpose of the Windows 10 install onto the older HP DV6 6190US system was to test Windows 10″s compatibility with my applications software before upgrading my main computer, a MacBook Pro A1398 15 inch system currently running Windows 8.1 under Bootcamp, to Windows 10.

Fortunately I was able to use the HP DV6 system as a test system before attempting the Windows 10 upgrade on my primary MacBook Pro system. And given the degree of problems I experienced just with getting one of my core video editing programs to work, that is Sony Vegas Pro 13, using a test system turned out to be a beneficial situation  given the problems I encounter getting it to run properly.

So let’s get the specifications out of the way for my test system as follows which has recently been upgraded from Windows 7 Home Premium to Windows 10. Its specifications are and what Vegas Pro 13 was installed onto are:

Windows 10 Home x64
HP DV6-6190US
2nd generation Intel Core i7-2630QM Processor 2.00GHz with Turbo Boost Technology up to 2.90 GHz
8GB DDR3 System Memory (2 DIMM)
Radeon HD 6770M
15.6″ diagonal Full High Definition HP Anti-glare LED Display (1920 x 1080)
750GB (7200RPM)
Digital Media Card Reader for Secure Digital and Multimedia cards
2 SuperSpeed USB 3.0
2 Universal Serial Bus (USB) 2.0

Just for clarification, Vegas Pro 13 build 290 was previously installed and working fine on the HP DV6-6190US system. However, I had to install a fresh basic copy of Windows 7 onto it during the Windows 10 upgrade process.

You see, the only way you get Windows 10 to install for free under Microsoft’s free upgrade scheme is for users of valid activated Windows 7  and 8.1 to perform an “upgrade” and not a “fresh” install of Windows 10 onto their systems.

Because I first tried installing Windows 10 onto the system as a fresh clean install, I later found out that the subsequent activation process would reject my old Windows 7 key.

This is probably where my Windows 10 install journey really started. That is, to simply get it installed and activated properly in the first place.

So even before encountering this recent Vegas Pro 13 startup crash problem, many hours have already been spent on this journey into Windows 10.

As a side note, and to Microsoft”s credit, with respect to the proper way to install Windows 10 onto your system in order to qualify for the free upgrade offer, both types of installs worked seamlessly.

The upgrade, which consequently saves all your applications, and the  fresh install procedures worked flawlessly and confidently.

To even get further off topic. The process of restoring my DV6-6190US system back to a fully functional, activated Windows 7 system was is itself another meticulous process. especially when HP (i.e., Hewlett Packard), did not include original install disks in the box when the system was first purchased. Don’t worry, you can still get the disks but of course for a price. I think HP tried reducing customer resentment by calling these disks they will now sell you a “Recovery Kit” instead of “original install disks which is really what they are.

One thing I will add when thinking about recovering your system back to Windows 7 so you can then try installing Windows 10 as an upgrade vs. a fresh install. Remember, you will also need all the special, and now mostly outdated device drivers for each piece of hardware on your system.

simply finding a clean copy of Windows 7 Home Premium x64 bit is not enough. As I do apply found out.

Again, HP will generously provide these drivers to you free of charge online. But you will have to go to their product page for your system and download them one by one. But here is the catch, how do you get the drivers installed onto a naked HP system with a generic copy of Windows 7 installed? Remember, without the hardware drivers, the disk drive, thumb drive, SD card port, and most severely, the network adapters, both of them, the wireless and the LAN ports all don’t work after simply installing a naked copy of Windows 7 onto a system.

Lets just say several hours were spent slicing and dicing ways to get the drivers installed without any working hardware except the CD-ROM drive. This is where creative trouble shooting kicks in. I have yet to have everything work as expected when performing a high level procedure on a system. And installing Windows 10, free or not, drew upon my many years of trouble shooting experience to get me this far.

I think Microsoft anticipated users would try to install Windows 10 as a fresh install vs. an upgrade install. Then, when those users saw the daunting task of having to reinstall their old Windows 7 operating system back onto there systems, without the original install disks and, without the patience, will power and determination to weather the re installation storm, paying the $112 or a Windows 10 Home key makes perfect sense. Especially when your system is directing you to the Microsoft store immediately upon notifying you your old key is not valid, and you need to buy a new one. This all the while your system is smiling at you with a fully functioning Windows 10 GUI.

if you ask me, Microsoft did the bean counting and banked on a high percent of people installing their advertised as “free upgrade” as a fresh install. And like any sane person would, just fork over the $112 and be done with it. It’s inconceivable anyone in there right mind would op to ensue the painstaking task to recover their system back to Windows 7 in order to then properly “upgrade” to Windows 10 all to save $112.

Unless your a techno geek like me.

I”m waiting for the class action lawsuit to be filled against Mucrosoft for unfair and deceptive trade practices with their “upgrade for free” arresting to entice users to own load and install Windows 10.

Time will tell.

Anyway, where were we?

Oh yea, why I had to reinstall Vegas Pro 13 in the first place. That is why. I had to reinstall it because I first wiped the system when installing Windows 10 as a fresh install.

The clean install was done primarily to avoid any remnants of the old Windows 7 operating system contaminating the “new and improved” Windows 10 system. Boy, that was a time consuming and educational experience.

Okay, back on track. Oh yea, the fix to the “Vegas Pro 13 crashing on startup after installing on Windows 10” problem.

The fix:

Good news is that I finally got Vegas Pro 13 build 453 to start in Windows 10 today after a few hours of tinkering and troubleshooting.

What DID NOT work:

1. Installing the latest build Sony Vegas Pro 13 build 453. This did not work. Note: I was previously running build 290;

2. Disabling the AMD catalyst manager from starting. Or actually uninstalling it completely; and

3. Going directly to the AMD website and downloading and installing the latest AMD catalyst manager driver for my Radeon 6770M graphic card.

What DID work:

1. Going into device manager and locating the graphics adapter driver, which was set, by the Windows 10 install procedure, to a Intel(R) HD Graphics Family adapter and driver designation, and completely uninstalling it. The thinking here was that the Intel(R) HD Graphics Family graphics adapter designation was preventing the actual AMD Radeon HD 6700M Series adapter and software from designated and installed respectively.

2. Upon restart, my video resolutions were not set to optimum setting, which is 1920 x 1080P, but what the basic driver was able to handle. What is important to note is that the AMD Radeon HD 6700M Series adapter was not showing in the Device Manager but with errors (i.e., icon had an “!” over it). This still was good news, because it confirmed the theory that the Intel(R) HD Graphics Family designation was some how preventing the actual Radeon adapter and software drivers from being recognized and designated.

Note: I think it’s important to note, that the Device Manager properties window reporting that the best driver was still in use while the Intel(R) HD Graphics Family driver was designated. I say this because this is a false negative. That is, a premature determination could be that the the graphics adapter settings are okay, and the problem must lie elsewhere (i.e., with the Song Vegas Pro 13 software). Nonetheless, in this case, the Intel(R) HD Graphics Family designation, confirmed by its removal, was causing Vegas Pro 13 to not start up..

This does not necessarily mean that Windows 10 is the culprit either. It did its best to determine the best graphics adapter settings suitable to run the machine, and not necessarily the Sony Vegas 13 software.

Now that the primary problem has been resolved, that is to get Vegas Pro 13 to complete its start up process, I now have to find out why, even when latest AMD catalyst manager and the AMD Radeon HD 6700M Series display adapter have been installed and designated, why the Device Manager is reporting an error (i.e., “Windows has stopped this device because it has reported problems. (Code 43) over the AMD Radeon HD 6700M Series‘ icon.

While in this error state, the system is relying on the Microsoft Basic Display Adapter to determine the resolution configuration which has a maximum depth of 1280 x 1024.

In summary, it turns out that the “Initializing GPU-accelerated video processing” crash experienced by Sony Vegas Pro 13 during start up problem is not necessarily a Sony Vegas Pro 13 problem.

If a finger has to be pointed, it should start to be pointed at AMD, or at AMD and Microsoft at the same time. Why? Because even after loading its latest driver software into Windows 10, it reports the error indicated above.

I would add, this troubleshooting can say that the problem does not reside in the either the Vegas 13 build 290, or build 453 software versions respectively either. Or at least with the test system this matter pertains to.

Now that Vegas Pro 13 has successfully started up under Windows 10, the next task is to figure out:

  1. Why the AMD Radeon HD 6700M Series graphics adapter, even with AMD’s latest driver software installed, is reporting an error in Windows’ Device Manager; and
  2. Ultimately to get the system to be able to configure itself to its maximum graphics adapter resolution.

 

For screen shots of this ordeal, see my post on CreativeCow below:

Vegas Pro 13 Initializing GPU-accelerated video processing CRASH RESOLVED! (Windows 10)

 

 

 

Sony DSC HX5v Solo Video Test Part 8 Piedmont Park Toms Power Kite [1080P]

More Info:
http://www.mikesmultimedia.com/store/Panasonic_Cam
http://www.mikesmultimedia.com/store/Sony_Cam

Donations (Support my work):
http://www.mikesmultimedia.com/donate

This is the stand alone version of the above referenced clip, used in the Side by Side video comparison clips located in my channel.

Here, the clip is shown in its full frame, as apposed to side by side split screen for the comparison videos.

Settings on the camera were at full automatic, Intelligent Mode.

No post production was applied to the clip other than the titles and production information.

Bit rate calculations:

The 11.5 Bit rate was determined by MediaInfo bit rate calculation software on the source clips before rendering.

For information, Sony advertises the following information regarding recording formats for the HX5v.

•Movie Mode(s) :
AVCHD:
1920 x 1080 (59.94i, Interlace) (Approx.17Mbps) /
1440 x 1080 (59.94i, Interlace) (Approx.9Mbps)

MP4:
1440 x 1080 (29.97fps, Progressive) (Approx.12Mbps) /
1280×720 (29.97fps, Progressive) (Approx.6Mbps) /
VGA (640 x 480) (29.97fps, Progressive) (Approx.3Mbps)

[VID: V8_20100419_0100A_B1_1440x1080x11.5Mbps]

Sony DSC HX5v Solo Video Test Part 7 Piedmont Park A Typical Day [1080P]

More Info:
http://www.mikesmultimedia.com/store/Panasonic_Cam
http://www.mikesmultimedia.com/store/Sony_Cam

Recording Format: [AVCHD @ 1440×1080 11.5 Mbps] Render Format: [MP4/AVC @ 1440x1080p 11.5Mbps]

This is the stand alone version of the above referenced clip, used in the Side by Side video comparison clips located in my channel.

Here, the clip is shown in its full frame, as apposed to side by side split screen for the comparison videos.

Settings on the camera were at full automatic, Intelligent Mode.

No post production was applied to the clip other than the titles and production information.

Bit rate calculations:

The 11.5 Bit rate was determined by MediaInfo bit rate calculation software on the source clips before rendering.

For information, Sony advertises the following information regarding recording formats for the HX5v.

•Movie Mode(s) :
AVCHD:
1920 x 1080 (59.94i, Interlace) (Approx.17Mbps) /
1440 x 1080 (59.94i, Interlace) (Approx.9Mbps)

MP4:
1440 x 1080 (29.97fps, Progressive) (Approx.12Mbps) /
1280×720 (29.97fps, Progressive) (Approx.6Mbps) /
VGA (640 x 480) (29.97fps, Progressive) (Approx.3Mbps)

Donations (Support my work):
http://www.mikesmultimedia.com/donate

[VID: V8_20100418_2230A_1440x1180x11.5_B1]

Sony DSC HX5v Solo Video Test Part 6 Atlanta Station Overpass [1080P]

More Info:
http://www.mikesmultimedia.com/store/Panasonic_Cam
http://www.mikesmultimedia.com/store/Sony_Cam

Donations (Support my work):
http://www.mikesmultimedia.com/donate

Recording Format: [AVCHD @ 1440×1080 11.5 Mbps] Render Format: [MP4/AVC @ 1440x1080p 11.5Mbps]

This is the stand alone version of the above referenced clip, used in the Side by Side video comparison clips located in my channel.

Here, the clip is shown in its full frame, as apposed to side by side split screen for the comparison videos.

Settings on the camera were at full automatic, Intelligent Mode.

No post production was applied to the clip other than the titles and production information.

Bit rate calculations:

The 11.5 Bit rate was determined by MediaInfo bit rate calculation software on the source clips before rendering.

For information, Sony advertises the following information regarding recording formats for the HX5v.

•Movie Mode(s) :
AVCHD:
1920 x 1080 (59.94i, Interlace) (Approx.17Mbps) /
1440 x 1080 (59.94i, Interlace) (Approx.9Mbps)

MP4:
1440 x 1080 (29.97fps, Progressive) (Approx.12Mbps) /
1280×720 (29.97fps, Progressive) (Approx.6Mbps) /
VGA (640 x 480) (29.97fps, Progressive) (Approx.3Mbps)

[VID: V9_20100417_0545A]

Sony Vegas Tutorial: Capturing Video Part 3: Done with Tape

After setting up your work space (Part 1), and beginning the video capture process from your video device (Part 2); Part 3 shows a completed video capture session and explores the results.

More Info:
http://www.mikesmultimedia.com/store/Sony_Video_Vegas

Donations (Support my work):

http://www.mikesmultimedia.com/donate

[VID: 20080402_0700_SONY_TUTORIAL_CAPTURE_PART_3_DONE_WI]