UMG中显示的手机DPI缩放值与真机缩放值差异问题

在UMG中选中Samsung Galaxy S10e(Mali)后,显示的逻辑分辨率为1280 x 608,DPI Scale为0.5。

看下下源码发现算法大致是从DP中取到该机型的物理分辨率1080 x 2280,先将Height锁定为1280,再计算Width = 1280 * 1080 / 2280 + 0.5,代码如下:

[Image Removed]我拿了一台与该分辨率接近的三星Galaxy Note20 Ultra 5G(物理分辨率 1080 x 2316),运行游戏后输出ViewportSize 为1496*720,ViewportScale为0.5843。

又看了下相关代码,算法跟上述差不多,不同之处在于InOutScreenHeight和InOutScreenWidth跟上边相比是反过来的,InOutScreenHeight为1080,InOutScreenWidth为2248。

[Image Removed]DPI缩放曲线采用默认的情况下,两者根据横向规则得出的缩放值是不一样的,这样来看UMG中显示的缩放值似乎就没有参考意义。

我不清楚这是否算是一个bug,还望答疑,谢谢。

您好,这里是有点bug,在 HandleOnCommonResolutionSelected 的时候没有根据mcsf的逻辑重新计算

我这样改了下应该可以了[Image Removed]正常情况下 android landscape下会以 720为基准,根据mcsf缩放,这个参数可以在deviceprofile中根据不同的gpu配置