返回列表 发新帖

[问题&求助] 6.39寸的黑鲨2会被游戏识别为8寸的平板?

  [复制链接] 6
回复
1504
查看
打印 上一主题 下一主题

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
楼主
跳转到指定楼层
发表在  2019-5-31 20:02:16 来自PC端  | 只看该作者 | 只看大图 回帖奖励 |正序浏览 | 阅读模式
本帖最后由 Mi_1109083003 于 2019-6-1 01:04 编辑



我有好几个游戏都被识别成了平板模式,还不能调整,放在6寸的手机上根本看不清
回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
7#
发表于 2019-6-1 00:57:51 来自PC端  | 只看该作者
本帖最后由 Mi_1109083003 于 2019-6-4 20:36 编辑

其实这个东西是怎么发现的,Google Play 上有个我常玩的游戏,这游戏在 S8+ 上工作正常,UI 是手机的界面,然而到了黑鲨2上界面就变成了平板的界面。

我用命令 “adb shell wm size 1080 × xxxx” 不断调试,终于发现:
在 1080 × 2315 的时候,计算出来的理论屏幕尺寸会达到 8 寸,同时这个游戏的 UI 会变为平板UI;
在 1080 × 2310 的时候屏幕尺寸是7.99寸,游戏 UI 还是正常的手机 UI

等于说这游戏完全是靠计算理论屏幕尺寸来自动识别你用的是平板还是手机。
然而非常不幸,在黑鲨2上直接把我的手机认成了平板,密密麻麻的 UI 堆积在6寸屏上啥都看不见,才突然有兴趣研究一下黑鲨2的分辨率配置是怎么调配的(甚至为了算公式还写了段Java代码)
回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
6#
发表于 2019-6-1 00:49:35 来自PC端  | 只看该作者
比对我手上的另一台屏幕大小和分辨率(手动调整)都和黑鲨相仿的 S8+
这里面可以看到在近似分辨率(1080p)与相同 Logical Density 的情况下,S8+ 的 Xdpi 和 Ydpi 达到了 391 和 394 。当然这个值并不太有参考价值,因为S8 这本身是一块 2K 的屏幕,单英寸上像素数量比黑鲨2 高是很正常的,这里提到 S8+ 只是为了证明“当各个数值都正确的时候,这个公式的计算结果到底是什么”
同样的公式:
√( (  Xpx  ÷    Xdpi   × α )² + (  Ypx  ÷     Ydpi   × α )² ) = β × α  
带入数据


√( ( 1080 ÷ 391.8855 × 2.63 )² + ( 2094 ÷ 394.3215 × 2.63 )² ) = 5.99 × 2.63
√( 52.53401 + 195.058076 ) = 5.99 × 2.63
√( 247.592086 ) = 5.99 × 2.63   #这里我们把 2.63 移到等号左边
15.735059 ÷ 2.63 = 5.9829125.99


当所有数据都正确的时候,计算结果是近似等于 Diagonal(理论屏幕尺寸)值的,也和三星官方宣称的值近似。三星官方宣称是“不含圆角四边的可触摸面积为 6.1 英寸,包含圆角为 6.2 英寸”,考虑到诸多误差,这个值实际上可以完全等于官方给出的数值的。


这就是为了证明,“当各个数值都正确的时候,这个公式的计算结果到底是什么”。
回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
5#
发表于 2019-6-1 00:33:19 来自PC端  | 只看该作者
本帖最后由 Mi_1109083003 于 2019-6-1 00:58 编辑

首先我们先确定至少一个正确值,也就是屏幕的分辨率 Screen Width(px),假定这个值 1080 × 2340 的值没有错的话,那么我们开始按照列表里的值推算,这里有一个公式:√( (  Xpx  ÷    Xdpi   × α )² + (  Ypx  ÷     Ydpi   × α )² ) = β × α  
Xpx 为横向分辨率,同理 Ypx;Xdpi 为横向每英寸上的像素数量,同理 Ydpi;
带入数值到这个公式
√( ( 1080 ÷ 318.976 × α )² + ( 2340 ÷  319.548 × α )² ) = β × α  #β为屏幕理论尺寸,黑鲨2官方公布为6.39,
这里的 α 是理论像素密度(Logical Density),这个值会根据Density DPI 改变而改变,通常来说是Density DPI ÷ 160 = Logical Density,这个160是一个标准值(mDPI)。这里截图显示的 Logical Density 为 2.63 是因为 Density DPI 被我手动改成了 420 ,
既然像素密度(LD)是根据DPI计算出来的,而DPI是没有错的,我们可以先排除像素密度有错,将像素密度带入这个公式

√( ( 1080 ÷ 318.976 × 2.63 )² + ( 2340 ÷  319.548 × 2.63 )² ) =6.39 × 2.63
√( ( 8.904745)² + (19.259078)² ) = 6.39 × 2.63
√(  79.294483 + 370.912085 ) = 6.39 × 2.63
√( 450.206568‬ ) = 6.39 × 2.63

将这个数开方后,问题出现了

21.218071 ≠ 6.39 × 2.63

前面我们说过 6.39 是一个 β 值,这个β值我们暂时给他假定位黑鲨2 的 6.39 寸屏
那么这个β值的正解是多少呢?

20.7226115 ÷ 2.63 = 8.067707,也就是约等于图中的 Diagonal (理论尺寸)8.07寸

这个尺寸明显是不对的,既然我们这个公式里的屏幕分辨率(Xpx / Ypx ) 假定正确,同时像素密度(2.63)不可能有错,那么唯一解就是 Xdpi 和 Ydpi 的值完全不对,甚至是错得离谱



回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
地板
发表于 2019-5-31 23:48:43 来自PC端  | 只看该作者
按照软件获取出来的屏幕分辨率信息(我同时核对了一遍adb shell dumpsys window),黑鲨的这个屏幕明显数据有错,Logical Density 或者 XDPI / YDPI 中的其中一个值有错。
我更倾向于是XDPI / YDPI
回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
板凳
发表于 2019-5-31 22:19:15 来自PC端  | 只看该作者

没调过
回复

使用道具 举报

23

主题

212

帖子

1426

积分

超能铂金

Rank: 4

积分
1426
沙发
发表于 2019-5-31 20:16:47 来自黑鲨游戏手机 2  | 只看该作者
dpi调过没?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖
登录/注册

本版积分规则

发表回复

提示 关闭

是否需要对本帖进行继续编辑,并重新设置首页贴的显示大图?如不需要,请直接点击左侧立即上首页按钮

立即上首页
继续编辑

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
楼主
发表在  2019-5-31 20:02:16 来自PC端  | 只看该作者 | 只看大图 回帖奖励 |正序浏览 | 阅读模式
本帖最后由 Mi_1109083003 于 2019-6-1 01:04 编辑



我有好几个游戏都被识别成了平板模式,还不能调整,放在6寸的手机上根本看不清
回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
7#
发表于 2019-6-1 00:57:51 来自PC端  | 只看该作者
本帖最后由 Mi_1109083003 于 2019-6-4 20:36 编辑

其实这个东西是怎么发现的,Google Play 上有个我常玩的游戏,这游戏在 S8+ 上工作正常,UI 是手机的界面,然而到了黑鲨2上界面就变成了平板的界面。

我用命令 “adb shell wm size 1080 × xxxx” 不断调试,终于发现:
在 1080 × 2315 的时候,计算出来的理论屏幕尺寸会达到 8 寸,同时这个游戏的 UI 会变为平板UI;
在 1080 × 2310 的时候屏幕尺寸是7.99寸,游戏 UI 还是正常的手机 UI

等于说这游戏完全是靠计算理论屏幕尺寸来自动识别你用的是平板还是手机。
然而非常不幸,在黑鲨2上直接把我的手机认成了平板,密密麻麻的 UI 堆积在6寸屏上啥都看不见,才突然有兴趣研究一下黑鲨2的分辨率配置是怎么调配的(甚至为了算公式还写了段Java代码)
回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
6#
发表于 2019-6-1 00:49:35 来自PC端  | 只看该作者
比对我手上的另一台屏幕大小和分辨率(手动调整)都和黑鲨相仿的 S8+
这里面可以看到在近似分辨率(1080p)与相同 Logical Density 的情况下,S8+ 的 Xdpi 和 Ydpi 达到了 391 和 394 。当然这个值并不太有参考价值,因为S8 这本身是一块 2K 的屏幕,单英寸上像素数量比黑鲨2 高是很正常的,这里提到 S8+ 只是为了证明“当各个数值都正确的时候,这个公式的计算结果到底是什么”
同样的公式:
√( (  Xpx  ÷    Xdpi   × α )² + (  Ypx  ÷     Ydpi   × α )² ) = β × α  
带入数据


√( ( 1080 ÷ 391.8855 × 2.63 )² + ( 2094 ÷ 394.3215 × 2.63 )² ) = 5.99 × 2.63
√( 52.53401 + 195.058076 ) = 5.99 × 2.63
√( 247.592086 ) = 5.99 × 2.63   #这里我们把 2.63 移到等号左边
15.735059 ÷ 2.63 = 5.9829125.99


当所有数据都正确的时候,计算结果是近似等于 Diagonal(理论屏幕尺寸)值的,也和三星官方宣称的值近似。三星官方宣称是“不含圆角四边的可触摸面积为 6.1 英寸,包含圆角为 6.2 英寸”,考虑到诸多误差,这个值实际上可以完全等于官方给出的数值的。


这就是为了证明,“当各个数值都正确的时候,这个公式的计算结果到底是什么”。
回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
5#
发表于 2019-6-1 00:33:19 来自PC端  | 只看该作者
本帖最后由 Mi_1109083003 于 2019-6-1 00:58 编辑

首先我们先确定至少一个正确值,也就是屏幕的分辨率 Screen Width(px),假定这个值 1080 × 2340 的值没有错的话,那么我们开始按照列表里的值推算,这里有一个公式:√( (  Xpx  ÷    Xdpi   × α )² + (  Ypx  ÷     Ydpi   × α )² ) = β × α  
Xpx 为横向分辨率,同理 Ypx;Xdpi 为横向每英寸上的像素数量,同理 Ydpi;
带入数值到这个公式
√( ( 1080 ÷ 318.976 × α )² + ( 2340 ÷  319.548 × α )² ) = β × α  #β为屏幕理论尺寸,黑鲨2官方公布为6.39,
这里的 α 是理论像素密度(Logical Density),这个值会根据Density DPI 改变而改变,通常来说是Density DPI ÷ 160 = Logical Density,这个160是一个标准值(mDPI)。这里截图显示的 Logical Density 为 2.63 是因为 Density DPI 被我手动改成了 420 ,
既然像素密度(LD)是根据DPI计算出来的,而DPI是没有错的,我们可以先排除像素密度有错,将像素密度带入这个公式

√( ( 1080 ÷ 318.976 × 2.63 )² + ( 2340 ÷  319.548 × 2.63 )² ) =6.39 × 2.63
√( ( 8.904745)² + (19.259078)² ) = 6.39 × 2.63
√(  79.294483 + 370.912085 ) = 6.39 × 2.63
√( 450.206568‬ ) = 6.39 × 2.63

将这个数开方后,问题出现了

21.218071 ≠ 6.39 × 2.63

前面我们说过 6.39 是一个 β 值,这个β值我们暂时给他假定位黑鲨2 的 6.39 寸屏
那么这个β值的正解是多少呢?

20.7226115 ÷ 2.63 = 8.067707,也就是约等于图中的 Diagonal (理论尺寸)8.07寸

这个尺寸明显是不对的,既然我们这个公式里的屏幕分辨率(Xpx / Ypx ) 假定正确,同时像素密度(2.63)不可能有错,那么唯一解就是 Xdpi 和 Ydpi 的值完全不对,甚至是错得离谱



回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
地板
发表于 2019-5-31 23:48:43 来自PC端  | 只看该作者
按照软件获取出来的屏幕分辨率信息(我同时核对了一遍adb shell dumpsys window),黑鲨的这个屏幕明显数据有错,Logical Density 或者 XDPI / YDPI 中的其中一个值有错。
我更倾向于是XDPI / YDPI
回复

使用道具 举报

1

主题

6

帖子

26

积分

青铜萌新

Rank: 1

积分
26
板凳
发表于 2019-5-31 22:19:15 来自PC端  | 只看该作者

没调过
回复

使用道具 举报

23

主题

212

帖子

1426

积分

超能铂金

Rank: 4

积分
1426
沙发
发表于 2019-5-31 20:16:47 来自黑鲨游戏手机 2  | 只看该作者
dpi调过没?
回复

使用道具 举报

首页预览
正文预览
确认发布
取消
快速回复 返回顶部 返回列表