小墨の博客

梦想需要付诸行动,否则只能是梦

微信小程序开发工具模拟器不显示鼠标问题

解决方案:打开英特尔显卡控制面板(鼠标右键打开或者桌面右下角打开),依次打开显示器-----一般设置----高级------量化范围------全范围------应用保存就OK了。如下图:

感觉就是一个很抽象的适配问题。没有配置的情况下,我拖到笔记本屏幕鼠标就可以操作微信开发者工具的小程序模拟器界面,放到显示器上就是不行。百度了一下才知道原来也有其他人遇到同样的问题。


在公司用比较老的电脑,Windows10系统,Intel核显遇到的这个问题,上图是网上看到的,下图是我这里的配置


我公司电脑配置:

操作系统名称 Microsoft Windows 10 专业版

版本 10.0.19045 内部版本 19045

系统 SKU LENOVO_MT_80T8_BU_idea_FM_ZHAOYANG E42-80

处理器 Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz,2501 Mhz,2 个内核,4 个逻辑处理器



后台在知乎上找到了问题的源头,非常感谢原作者,相关链接附在文末。

为了防止文章万一被知乎吞掉,这里手动保存一份。


这个问题也困扰我好久了,调试前端移动版页面时看不到小圆点很麻烦。

一开始根本想不到问题在哪。是不是chrome版本问题?插件问题?系统bug还是什么电脑管家破坏了重要文件?

查了好久试了很多办法才发现,都不是。

问题出现在显卡驱动上。

以Intel核显为例,在显卡控制面板里选择「显示-量化范围」(在nvidia那边叫动态范围),里面有三项:

  • 默认范围 Default Range

  • 有限范围 Limited Range

  • 全范围 Full Range

勾上「全范围」,保存,看看chrome里那个小圆点是不是出来了?

现在用的电脑没有这个问题,下面这张图是网上找的,参考一下就行。

(把Default Range 改成 Full Range)

只想解决问题的看到这里就可以了。下面我讲讲它为什么会发生。

其实出现这种问题的电脑只是很少一部分。

Mac是不会出的,PC笔记本单独用也不会出这个问题。

只有当你用PC的HDMI接显示器时才可能出现。

而且AMD显卡默认是没这个问题的,Nvidia和Intel的核显才有。

前面还有答主说自己笔记本接显示器,显示器上没有小灰点,拖到笔记本上就有,原理是一样的。

我之前用两台显示器,一个设置成Limited Range,一个Full Range,把窗口放在显示器中间,鼠标挪到这边就有小灰点,那边就消失了,特别明显。


为什么会出现这种事?那就涉及到HDMI的历史了。

最早的时候,电脑和电视是两种泾渭分明的设备。

电脑显示的接口从模拟的VGA进化成数字的DVI、DisplayPort;

电视的接口则从古老的射频转为两条音视频线再到YCbCr色差,然后就是大家熟知的HDMI。

电脑首要目标是显示文稿、图像、网页,需要线条清晰、黑白分明;

电视显示的是视频、游戏,少有纯黑纯白这种极端情况,中间的颜色表现更为重要。

而且电视的历史更久,在模拟时代,极端亮暗的色彩信号中更难滤除杂波,还不如放弃它呢。


所以,电脑输出到显示器的颜色灰度范围当然是完整的0~255,也就是上面说的Full Range全范围;

而电视这边做了一些削减,也就是将最黑和最白两端的灰度过滤掉了,范围是16~235,即Limited Range有限范围。从模拟的色差信号到数字的HDMI信号都是这样。

但是,这是你通过机顶盒、录像机、DVD、游戏机这些专门接电视的设备输出给电视的,电视知道自己收到的是16~235,所以也会做相应处理,重新将它「展开」到0~255。适当调适颜色的鲜艳程度和亮度,不至于丢失了两端的灰度而让整个屏幕都变得灰蒙蒙。

看看游戏截图对比就知道了,Full的对比度更强,Limited去掉一部分灰度后变得更柔和些,同时通过提升亮度达到暗部更清晰的效果。


后来,显卡显示器都有了HDMI接口,电视也允许PC接入了。两者的界限慢慢不再那么明显。

但是,很多早期设备和设计的不太好的设备仍然有兼容性问题。比如老数字电视的HDMI就根本没考虑到会输入0~255范围的颜色,有可能会出现显示问题、色彩错乱等。

为了避免这种情况,而且早年支持HDMI的显示器还比较少,只要插上HDMI基本就是为了接平板电视打游戏看片,所以Nvidia就耍了个小聪明,只要你从HDMI输出的信号,我不管接在什么上,统统按Limited Range输出,就是16~235。这个默认设置一直延续了好多年。

AMD就精多了,很早就通过检测显示设备等方式,保证在显示器上输出0~255,就算误认导致在电视上输出也没关系,后来的电视都解决这些问题了。


这造成了什么后果呢?你们都听过A卡比N卡色彩好的说法吧。

真相是,A卡尽管在颜色上花了很大功夫,但在普通人未校色的非专业显示器上,很难看出和N卡的差距。

但Nvidia自废武功,直接导致了HDMI接显示器时默认就比A卡颜色差了一大截,肉眼都能看出来灰扑扑的。

任何人只要看到这种对比,都会觉得A卡就是比N卡色彩好得多。


后来Intel核显崛起,但不知为什么也沿袭了N卡这个套路,默认情况下如果插HDMI线就是16~235。更丧心病狂的是15年前的官方驱动面板里根本没提供修改的选项,想改只能自己找别人做的小工具。

本题目里的Chrome手机模式小灰点,其实就是因为正好灰度落在了显卡输出时滤掉的范围里,所以莫名消失了……

真是八百里开外躺着也中枪啊。



参考资料:

解决方案:https://blog.csdn.net/sdfjasad/article/details/124019401

问题原理:https://www.zhihu.com/question/48587059/answer/146822282

张小弟之家

本文链接:
文章标题:

本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work

尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。

    发表评论:

    搜索
    本文二维码
    标签列表
    站点信息
    • 文章总数:547
    • 页面总数:20
    • 分类总数:96
    • 标签总数:213
    • 评论总数:63
    • 浏览总数:287025

    | | |
    | |  Z-Blog PHP