Primoz, Welton,
If you look at the returned values, notice that the device is returning a 480x800 resolutions with a 1.0 scale factor. A Lumia 535 is a 540x960 resolution device. So, Microsoft’s APIs are clearly returning the wrong values for that device. That’s the issue. It’s a Microsoft bug that they need to fix. I don’t see how we can work-around this issue on our end.
I think the best we can do at this point is report it as a bug to Microsoft. The only means I know of doing this is to start a “discussion” (aka: forum post) on their website here…
http://answers.microsoft.com/en-us/mobiledevices
If you are to report it, then the best description to use is…
Lumia 535 running Windows 10 Mobile returns the wrong pixel resolution and scale factor to Silverlight apps. This causes Direct3D apps to render at a smaller scale onscreen than they should.
The following API returns a 480x800 size when it should return a 540x960 size…
Microsoft.Phone.Info.DeviceExtendedProperties.TryGetValue(“PhysicalScreenResolution”, out result);
And the following APIs return a 1.0 scale factor when it should be a larger scale since the “Content” object’s ActualWidth/ActualHeight are 480x800…
System.Windows.Application.Current.Host.Content.ScaleFactor; // = 100
Windows.Graphics.Display.DisplayProperties.ResolutionScale; // = Scale100Percent
Windows.Graphics.Display.DisplayProperties.LogicalDpi; // = 96.0