Skip to content

Commit 9a96785

Browse files
committed
If the Blitter object has no Bob's to render it will now abort immediately, avoiding several context calls in Canvas mode.
1 parent 6df877c commit 9a96785

1 file changed

Lines changed: 19 additions & 2 deletions

File tree

src/gameobjects/blitter/BlitterCanvasRenderer.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,29 @@ var GameObject = require('../GameObject');
2323
*/
2424
var BlitterCanvasRenderer = function (renderer, src, interpolationPercentage, camera, parentMatrix)
2525
{
26-
if (GameObject.RENDER_MASK !== src.renderFlags || (src.cameraFilter > 0 && (src.cameraFilter & camera.id)))
26+
var list = src.getRenderList();
27+
28+
if (GameObject.RENDER_MASK !== src.renderFlags || (src.cameraFilter > 0 && (src.cameraFilter & camera.id)) || list.length === 0)
2729
{
2830
return;
2931
}
3032

31-
var list = src.getRenderList();
33+
// Alpha
34+
35+
var alpha = camera.alpha * src.alpha;
36+
37+
if (alpha === 0)
38+
{
39+
// Nothing to see, so abort early
40+
return;
41+
}
42+
else if (renderer.currentAlpha !== alpha)
43+
{
44+
renderer.currentAlpha = alpha;
45+
ctx.globalAlpha = alpha;
46+
}
47+
48+
// Blend Mode
3249

3350
renderer.setBlendMode(src.blendMode);
3451

0 commit comments

Comments
 (0)