Skip to content

Commit c27b2f9

Browse files
committed
Changed batch limits. Currently running 20,000 pixels in 1 draw call.
1 parent c4a79bf commit c27b2f9

2 files changed

Lines changed: 18 additions & 14 deletions

File tree

src/gameobjects/pixelfield/PixelFieldWebGLRenderer.js

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,27 @@ Phaser.Renderer.WebGL.GameObjects.PixelField = {
66

77
render: function (renderer, src)
88
{
9+
var pixel;
910
var verts = src.transform.glVertextData;
1011

1112
for (var i = 0; i < src.list.length; i++)
1213
{
13-
var pixel = src.list[i];
14+
pixel = src.list[i];
1415

15-
renderer.batch.addPixel(
16-
verts.x0 + pixel.x,
17-
verts.y0 + pixel.y,
18-
verts.x1 + pixel.x,
19-
verts.y1 + pixel.y,
20-
verts.x2 + pixel.x,
21-
verts.y2 + pixel.y,
22-
verts.x3 + pixel.x,
23-
verts.y3 + pixel.y,
24-
pixel.color
25-
);
16+
if (pixel.a > 0)
17+
{
18+
renderer.batch.addPixel(
19+
verts.x0 + pixel.x,
20+
verts.y0 + pixel.y,
21+
verts.x1 + pixel.x,
22+
verts.y1 + pixel.y,
23+
verts.x2 + pixel.x,
24+
verts.y2 + pixel.y,
25+
verts.x3 + pixel.x,
26+
verts.y3 + pixel.y,
27+
pixel.color
28+
);
29+
}
2630
}
2731
}
2832

src/renderer/webgl/batches/PixelBatch.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ Phaser.Renderer.WebGL.Batch.Pixel = function (manager, batchSize)
1818
// Position (vec2) = 4 * 2 = 8 bytes
1919
// Color (float) = 4 bytes
2020
//
21-
// Total: 12 bytes (per vert) * 4 (4 verts per quad) (= 48 bytes) * maxSize (usually 2000) = 96 kilobytes sent to the GPU every frame
21+
// Total: 12 bytes (per vert) * 4 (4 verts per quad) (= 48 bytes) = 96 kilobytes per 2000 pixels sent to the GPU every frame
2222

2323
var vertSize = (4 * 2) + (4);
2424

25-
Phaser.Renderer.WebGL.Batch.call(this, manager, batchSize * 2, vertSize);
25+
Phaser.Renderer.WebGL.Batch.call(this, manager, batchSize * 10, vertSize);
2626

2727
// View on the vertices as a Float32Array
2828
this.positions = new Float32Array(this.vertices);

0 commit comments

Comments
 (0)