0

我正在使用 GWT 画布全屏绘制 50 个相同的 16x16 图像(在 draw() 中)requestAnimationFrame,主循环如下:

AnimationScheduler.get().requestAnimationFrame(new AnimationCallback() {
                    public void execute(double timestamp) {
                        mainLoop(deltaTimeInMs);
                        AnimationScheduler.get().requestAnimationFrame(this,canvasElem);
                    }
                }, canvasElem);


void mainLoop(double deltaTime) {
        calcFPS(deltaTime);
        clearContext();
        update(deltaTime);
        draw();
}

我使用ClientBundleas存储图像DataResources。它们被转换为图像并转换为ImageElement能够调用 context.draw 的图像。

渲染 50 张图像之前的 FPS 约为 60FPS。当它们被渲染时,FPS 大约是 20FPS。(在 chrome 和 mozilla 中)在 DEV 模式下。

我认为图像加载可能有问题。

4

1 回答 1

-3
AnimationScheduler.get().requestAnimationFrame(new AnimationCallback() {
                    public void execute(double timestamp) {
                        mainLoop(deltaTimeInMs);
                        AnimationScheduler.get().requestAnimationFrame(this,canvasElem);
                    }
                }, canvasElem);


void mainLoop(double deltaTime) {
        calcFPS(deltaTime);
        clearContext();
        update(deltaTime);
于 2013-07-23T08:26:54.790 回答