在Android浏览器中禁用html5画布上的2d渲染的硬件加速

时间:2013-08-09 01:48:43

标签: html5-canvas

我在android浏览器上执行了javascript html5 canvas测试以进行性能分析 要在android webbrowser中禁用html5画布上的2d渲染的硬件加速,我在android浏览器中配置了标志。 (external / packages / apps / Browser ...)

<application android:hardwareAccelerated="false" ...>

但是,此配置似乎不起作用。 谁能给我一些帮助?

2 个答案:

答案 0 :(得分:1)

创建我的视图时,我添加了这段代码,这对我有用:

    private void fixSignatureDoubleLineIssueOnJb(View root) {
    Log.d(TAG, "API level: " + Build.VERSION.SDK_INT);
    if (Build.VERSION.SDK_INT >= 16) {
        try {
            Method method = root.getClass().getMethod("setLayerType", int.class, Paint.class);
            method.invoke(root, 0x01/* View.LAYER_TYPE_SOFTWARE */, null);

            Log.d(TAG, "hardware accelaration disabled");
        } catch (NoSuchMethodException e) {
            Log.e(TAG, "failed to disabled hardware acceleration", e);
        } catch (IllegalArgumentException e) {
            Log.e(TAG, "failed to disabled hardware acceleration", e);
        } catch (IllegalAccessException e) {
            Log.e(TAG, "failed to disabled hardware acceleration", e);
        } catch (InvocationTargetException e) {
            Log.e(TAG, "failed to disabled hardware acceleration", e);
        }
    }
}

答案 1 :(得分:0)

我认为您在Android Canvas和html5画布之间感到困惑。他们是两个不同的东西。您的代码片段适用于Android画布。不是Html5。我认为在浏览器上禁用硬件加速的唯一方法是更改​​浏览器设置。 Here是Chromes切换的一个例子。