Phonegap硬件加速 - 2个画布对象

时间:2014-03-13 14:51:56

标签: android html5 canvas cordova html5-canvas

我的PhoneGap应用程序与两个Canvas对象的硬件加速有问题。

我需要两个Canvas对象来比较两个不同的图像。在我的桌面/便捷设备(浏览器)上一切正常,比较有效。

但是当我运行我编译的Android文件时,我得到了一个奇怪的行为。当我选择我的第一个图像时,它将被加载到我的第一个画布中,然后当我选择我的第二个时,我的第一个将在两个画布中都被覆盖,并且仅使用我画布中的第二个上下文。

我发现这个线程硬件加入是市长问题。

Phone Android HTML5 Hardware Acceleration - Canvas

我也用于画布EaselJS,当我在Android设备上测试以下代码时

<!DOCTYPE html>

<html>
<head>
    <script src="http://code.createjs.com/easeljs-0.7.0.min.js"></script>
    <script>
        function init() {
            var stage = new createjs.Stage("canvas1");
            var stage2 = new createjs.Stage("canvas2");

            var circle = new createjs.Shape();
            circle.graphics.beginFill("red").drawCircle(0, 0, 50);
            circle.x = 100;
            circle.y = 100;
            stage.addChild(circle);
            stage.update();

            var circle2 = new createjs.Shape();
            circle2.graphics.beginFill("blue").drawCircle(0, 0, 50);
            circle2.x = 100;
            circle2.y = 100;
            stage2.addChild(circle);
            stage2.update();
        }
    </script>
</head>
<body onLoad="init();">
    <canvas id="canvas1" width="500" height="300">
        alternate content
    </canvas>
    <canvas id="canvas2" width="500" height="300">
        alternate content
    </canvas>
</body>
</html>

当硬件加速被激活时我遇到了同样的问题,然后我得到了两个带蓝色的圆圈,而不是一个带红色的圆圈,另一个带蓝色。

我有什么方法可以激活硬件加速和画布绘制,或者是PhoneGap的PhoneGap或Android问题?

1 个答案:

答案 0 :(得分:0)

是的,您可以激活硬件加速。请查看此链接 - Controlling hardware accelration in android