Wednesday, 10 February 2016

E-Prime vs Surface Pro 4: High PPI woes

A little while ago, I (Michiel) promised a review of E-Prime on the new Surface Pro 4 (SP4). The idea is this: given that these machines are developed by the same company (i.e. Microsoft), they should all work in rather similar ways, so that, for once, we have that rare thing in the non-Mac community: a common experience. Apart from the convenience in terms of transferable user experience or bug reporting, this has obvious benefits for experimental design and replicability in particular. Furthermore, PST did extensive testing with the SP3, and I hope they keep that up, creating a kind of optimal experimental experience with a single device having known benefits and drawbacks. Finally, being into motor control and perception-action integration research, I am obviously keen on using the touch and pen in experiments.

So, full of good cheer, I started with E-Prime (2.0.10.356) running on Windows 10 build 10586 and quickly ran into problems.
One thing to notice about the SP4 is that, like many other new laptops and ultrabooks, it has an insanely high amount of pixels for its 12.3” screen: it runs at a native resolution of 2736x1824 at 267 PPI. That means that, if we trust well known psychophysicist Steve Jobs’ idea about the limit at which our eyes can distinguish pixels, we should not be able to distinguish the individual pixels if the screen is held at a distance of at least 33 cm. Annoyingly, that also means that if we would be running software with the number of pixels per letter, everything becomes pretty much unreadable. Windows, more especially the later incarnations, adjusts for this with the “scaling” feature (under “change the size of apps on the screen”), which virtually blows up the size of UI elements so that we can still read them. However, it’s apparently not all that easy to get this to function in a consistent way: it first worked quite well in E-Studio, which, as you can see below, looks okay at 175%-200% scaling (Fig1). Then, for the purpose of this very blog, I changed it to 100% showing it is indeed quite unreadable at 100% (Fig2). I also ran an experiment at native resolution so you can observe that the difference with the default (640x480) resolution is quite big:

From left to right: 1) E-Studio with default scaling (200%); 2) Running an experiment at default resolution (640x480); 3) E-Prime scaling back to 100%; 4) running an experiment at native resolution (2736x1824).

And here everything went awry: quite a few elements, such as the word “E-Objects” in the Toolbox and all the pictograms are suddenly far too small.


Scaling back to 175% 
In order to fix that, I uninstalled and reinstalled E-Prime, which took me a while and didn’t do anything. Exasperated, I went through the registry, and found the following workaround:
·         Run Regedit
·         Go to: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
·         And delete the one saying HIGHDPIAWARE that goes with E-Prime.

That fixed the minuscule icons and other such anomalies, but as soon as I run an experiment at native resolution, the problem returns. In fact, E-Prime adds the removed key back to the registry as well, so it's easily fixed, but in the end a bit of a pain. In fact, as long as the experiment is run at some sort of low PPI resolution, like the default (ugly) 640x480 or 1280x720, everything keeps working as it should, but as soon as any 3:2 screen is used, it all goes down. So, there are currently two options:
1.       Turn screen scaling entirely off, and use the native resolution both during development and running.
2.       Turn screen scaling on, but run experiments in smaller resolution.

Personally, I think neither option is ideal, but the second option seems the lesser evil, until this gets sorted.

So, do I have anything good to say about all this?
1)      The screen is fantastic, with extremely high contrast.
2)      The high DPI setting, as such, is a great addition to the arsenal of cognitive psychologists and psychophysicists alike. If you want to study, say, a Müller-Lyer illusion, the extra precision will be much appreciated. And even if that’s not your thing, surely there is very little against having a higher, rather than lower, quality of optics?
3)      On the whole, the SP4 seems pretty solid. The touchpad is particularly good for a PC laptop, and I enjoy drawing with the stylus/pen. In the next episode I hope to actually get some work done, with the aim of showing how to use the pen in E-Prime.


'**** Update 12 February ****
There appears to be another way to apply the same workaround without editing the registry:
Find you normal E-Studio icon> Right click>Open file location>Right click on that E-Studio icon>Properties>Compatibility tab>Uncheck disable display scaling (currently checked in the figure).

2 comments:

  1. Hey, just wondering, PST recommends Direct X 11 Video Card. Is that available in Surface Pro 4?

    ReplyDelete
  2. Sorry for the late reply!

    DX11 should work on the Surface Pro 4 as it did on 3 (https://software.intel.com/en-us/videos/directx11-vs-dx12-on-surface-pro-3 ). However, the SP4 does not have a dedicated video card as would probably be recommended - for this, you could check out the surface book, which does come with its own dedicated GPU. I have, however, not seen clear tests showing that dedicated video-cards actually make much of a difference in terms of timing accuracy. What seems more likely is that a dedicated video card may enable stronger, much hardware intensive video decompression (e.g. HEVC/H.265). But, unless you are going to run your experiments on 4K displays, I doubt that is what you want from your E-Prime.

    Of course, I personally prefer running experiments on Windows XP in the lab, without connection to any network, with no virus scanner, hooked to an old CRT, but most centralized university IT departments will not allow this.

    Hope that help!

    ReplyDelete