Sprite Batching

Discussion and feedback on Construct 2

Post » Tue Nov 05, 2013 3:06 pm

Dear Scirra Team,

I recently your blog entry about Tilemaps. I waited for this feature quite long and I am really happy you are starting to implement it! Great Work! But as a read further, I found something I was a little bit "shocked", because most of all other libraries I know in the 2D game development does this as well: Sprite Batching. Even though this is not your target, but the performance will especially increase for the mobile platform when you support internal batching. Why didn't you implemented this? Even for multi layered tilemaps this will kill your framerate. So you will have constantly ONE drawcall in your current tilemap system instead of dependent on the current tile map complexity. Is this difficult in WebGL because not all browsers support ArrayLists? Do you need help to implement a system like this? I was a little bit disappointed... :(

Best Regards,

TrommlBomml
B
4
S
1
Posts: 2
Reputation: 567

Post » Tue Nov 05, 2013 4:43 pm

The WebGL renderer has internally batched all calls for a long time now, and Tilemap draw calls are batched in together with Sprite and Tiled Background draw calls as well. It should all be running pretty efficiently and good batching is part of the reason our WebGL renderer often benchmarks 10x faster than canvas2d. In the blog post, a "draw call" actually refers to calling in to our WebGL wrapper, which internally batches calls in to a very small number of actual WebGL calls. Maybe it was a little confusing, but does that clear it up?
Scirra Founder
B
395
S
233
G
88
Posts: 24,376
Reputation: 193,842

Post » Fri Nov 08, 2013 10:15 am

Yeah, that really answers my question. It is a little bit confusing because batch call referes usally to Render-API draw-calls like IDirect3DDevice::DrawPrimitive() or glDrawArray(), not to the framework specific ones ;)
B
4
S
1
Posts: 2
Reputation: 567


Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 13 guests