JxBrowser matchMedia()在重量级和轻量级模式下的不同行为

时间:2017-06-02 11:25:00

标签: jxbrowser

我在重量级和重量级的JxBrowser 6.14中运行http://browserbench.org/MotionMark/基准测试轻量级模式,当我注意到,基准测试使用的iframe获得了两种模式的不同大小:

我的相框尺寸:1000x800

重量级iframe:900x600 Benchmark在最后说:&#34;在中等屏幕(笔记本电脑,平板电脑)&#34; <body>标有班级medium

轻量级iframe:568x320 Benchmark在最后说:&#34;在小屏幕上(电话)&#34;

<body>标有班级small

负责此差异的网站代码如下:

determineCanvasSize: function() {
    var match = window.matchMedia("(max-device-width: 760px)");
    if (match.matches) {
        document.body.classList.add("small");
        return;
    }

    match = window.matchMedia("(max-device-width: 1600px)");
    if (match.matches) {
        document.body.classList.add("medium");
        return;
    }

    match = window.matchMedia("(max-width: 1600px)");
    if (match.matches) {
        document.body.classList.add("medium");
        return;
    }

    document.body.classList.add("large");
},

显然,这些matchMedia()查询在轻量级模式和重量级模式下表现不同。

但他们为什么要这样做?

什么可以成为解决方案?

1 个答案:

答案 0 :(得分:0)

我不知道这个基准测试的工作原理,但我知道JxBrowser中的重量级和轻量级渲染模式是完全不同的模式,它们各有优势和局限。也许你看到的问题就是其中之一。据我所知,在轻量级渲染模式下(屏幕外),WebGL可能会有不同的工作原因,因为在这种情况下,Chromium引擎中使用了不同的渲染技术。

请您告诉我如何检查基准测试在两种渲染模式下的工作方式是否有所不同?我只需要在只有嵌入式BrowserView的1000x800的Java框架中运行它吗?