Question

I've got a Windows 8 tablet with a Full HD resolution of 1920x1080 pixel set.

But when I use Delphi's Screen object to get the Screen.Width and Screen.Height it will return a resolution of 1280x720 running on that Windows 8 tablet.

Where is the problem rooted? On the Windows (tablet) side or on the Delphi side? I use Delphi 7 up to XE2 with equal results. This seems to be rather a tablet problem than a general Windows 8 problem since I do not have such a behavior on my Windows 8.1 desktop machine.


Conclusion

I just wanted to highlight the cause of my problem since it is kind of hidden in the comments.
By default Windows 8 on my tablet is using 150% DPI. 1080px are 150% of 720px. So 720px are usable by applications. Decreasing the DPI percentage to 100% results in the expected 1080px resolution.

Was it helpful?

Solution

It could be DPI-related problem. Aero can handle high-DPI situations in two ways:

  • Say to the application, that DPI is greater than standart 96, and let it scale itself
  • Lie to the application, that DPI is usual 96, and scale it's window with some image-scalling algorithm (produces blur)

May be in the second situation Aero is lying not only about DPI, but also about screen resolution.


If the second scenario is your case, then DO NOT turn off scaling. Just make your application DPI-aware: http://www.rw-designer.com/DPI-aware - general info http://www.micro-isv.asia/2010/09/high-dpi-support-in-windows-vista-and-7/ - delphi

OTHER TIPS

Definition on Full HD is debatable.

Industry has adopted the term Full HD as the consumer-friendly marketing term to mean the device is a safe purchase because it can display at least one of the available HD resolutions.

Your device supports an aspect ratio of 16:9 which is the international standard for HD.

The two most publicly known full HD resolutions are :

  • 1280 x 720 (720p)
  • 1920 x 1080 (1080p)

The fact that your device says that it is full HD simply means that the display of the device at a minimum supports a resolution of 720p, up to 1080p.

Given that this is a tablet it should become apparent that it's native resolution is 720p HD. The fact that you can force 1080p just means exactly that, a display marked as Full HD which is able to display 1080p. Does not mean 1080p is it's native resolution.

To answer your question, Delphi neither Windows is at fault.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top