为什么 4K 电视不能提供 4K 分辨率?

Cra*_*rTV 7 multiple-monitors tv resolution

我为一个包含大量信息的网站设计了首页。我已将页面大小固定为 3530x2070,这应该很容易适合分辨率为 3840x2160 的 4K 屏幕。

<div id="mainDiv" style="width:3530px;height:2070px;border:1px black solid;">
Run Code Online (Sandbox Code Playgroud)

但是,当我连接到 4K 电视(不是显示器)时,我只能看到大约 2700 像素的宽度——而且使用的是 4096x2160 的屏幕分辨率——3840x2160 甚至更窄。

<div id="mainDiv" style="width:2700px;height:1070px;border:1px black solid;">
Run Code Online (Sandbox Code Playgroud)

我试过索尼和三星电视型号。

还要注意,每台电视都检测到了正确的分辨率,即当我将电视的计算机分辨率设置为 3840 时,电视说它是 3840,而当我将计算机设置为 4096 时,电视也显示它设置为 4096。

这意味着计算机和电视就分辨率达成一致,但浏览器未显示网页的全宽。

还有一个难题,在我的 1920x1080 计算机显示器上,网页大小按我的预期工作(当我将其缩小以匹配该分辨率时)。我丢失了一些边框和浏览器框架的像素,但这是意料之中的。在宽度上丢失 1000 多个像素并不是我所期望的。

<div id="mainDiv" style="width:1900px;height:1065px;border:1px black solid;">
Run Code Online (Sandbox Code Playgroud)

我正在通过 HDMI 电缆运行迷你显示端口,正如我所说,两个设备都同意该连接的分辨率。

bwD*_*aco 5

DPI 缩放似乎是罪魁祸首。

  • 较新版本的 Windows(自 8.1 起)会自动缩放每个显示器的 DPI,以适应具有非常高像素密度的显示器。看起来 Windows 已经将 4K 电视缩放到正常的 150%(2700 的 150% 是 4050,非常接近 4096)。

  • 最新版本的 Firefox 和 Chrome 会检测系统 DPI 缩放设置并进行相应调整。您可以使用某些高级设置禁用此功能:

    • 在 Firefox 中,这是由layout.css.devPixelsPerPx配置值控制的,可以在about:config. -1.0是默认值,浏览器将在主显示器上匹配系统的 DPI 缩放值。要强制 Firefox 不缩放 DPI,请将此值设置为1.0。将此设置为任何其他正值会指示浏览器缩放那么多(系统上的默认值似乎是1.5)。

    • 在 Chrome 中,这由high-dpi-support键中的 DWORD 注册表值控制HKCU\Software\Google\Chrome\Profile。设置为 0 以禁用缩放,设置为 1 以启用缩放,或设置为 2 以使用默认值。