tileSet best performance?

Hello,
Does setting a tileSet to 16x16 or 32x32 has any performance impact ?

Ive read that tiles are drawn has quadrants !?!

What would be the best option Here ?
Should i use 16x16 tiles with a quadrant size of 32 ? or 200 ?
Iam currently using tiles with 32 x 32, for performance reasons, draw calls, etc ( that’s how it works in other engines ).

But it would be much more easier if i could use 16x16 tiles. I just dont understand how the tile size and the quadrant work toghter, or how the quandrant is drawn ?

1 Like

it’s what it said it’s “drawn together on a single canvas item”

a great advice come from @Calinou

quadrant_size is an internal optimization technique. Different values may be faster than others depending on the device and project – there’s no value that will be always faster or slower than another. If you’re not running into performance issues, leave it at the default. If you do, try to tweak it starting from 1 (which has been known to improve performance on some devices).

It won’t change what you see on your screen in any way.

1 Like

fine…

but this just make it more confusing than it already is…

there’s no value that will be always faster or slower than another.

but outside of quadrants, if i change the tiles size to 16x16 instead of 32x32, will that change the performance ?

as him said, it really depends on device and project, you will want to tweak around if your game or at devices somehow lagged. else just leave it be

Sory… but i just dont understand…

the quadrant 16x16 = 256… 32x32 = 1024… 64x64 = 4096
changing the quadrant size to 1

(has been known to improve performance on some devices)

???

1 should make a draw call for every single tile, instead of grouping them into images sizes of 256…
1 draw call for every tile VS 1 draw call for every 256 size tile group

It should be the exact opposite ?! quadrant size of 1 should make it slower

have a read about drawcalls here:
https://forum.unity.com/threads/how-many-draw-calls-should-i-target-for-pc.329525/

i do believe that’s a single tile pixel to be rendered every frame is easier to process for gpu than a huge chunk of 4096 pixel in a single draw call. i also think it’s about how good the gpu is at the player end and how it can handle much drawcalls or more resolution

the article talks about the average knowledge / common sense…

( in short reduce the draws calls to make it faster )

To have better fps, with a draw call for every single pixel, it must be some recent GPU’s, or another directX12 thing ?!?! Or unreal engine lumen thing ?!?

Iam just trying to target the old NES or game boy advanced render…

But i was asking if i should change my tiles images size to 16x16 instead of 32x32… since they are drawned has quadrants ( one image size of 256 )… it seems the tile size doesnt matter much, but i could be wrong i dont know…

would be better if you can test it right away,
it’s also said that

As told, the golden rule is as much as necessary but as few as possible.

and performance issues also not only came from drawcalls issue.
but if the quadrant tweaking fixed the issue, then it could be drawcall that made the performance issue. as to “best performance” will need to test it on multiple targeted platforms

can simply plug in fps counter or something over the screen to check if there’s any fps drop on tweaking the quadrant value

Apart from that unity article there’s this godot video… Showing how reducing draw calls improves performence…

I just dont see my myself yet having multiple tileMaps, and turning the visibility ON / OFF

can simply plug in fps counter or something over the screen to check if there’s any fps drop on tweaking the quadrant value

I have the V-sync turned off, and iam reading the real FPS. I can confirm that turning the visibility ON/OFF in tileSet node’s… makes the fps go from 200 to about 600

[edit] i just cant test it in 16x16 tiles… Since my tiles are 32x32, i would have to delete all my tileSets sheets and make new ones…

well um, of course if you have something to render on the screen, it will reduce the fps

16x16 quadrant doesnt mean you have to make exactly 16x16 pixel tileset’s image

well um, of course if you have something to render on the screen, it will reduce the fps

but it should be the same with draw calls in tiles

try putting a texturerect+image about the tilemap size, it should somehow reduce the fps too, especially with opacity image

I want to make them 16x16, it would be much easier for me to draw the levels… my tiles are currently 32x32, my player hight is about 60…

I started has 32x32 tiles for performance reasons, but i wish i could draw them in 16x16… thats the reason of my question in the 1st post…

i think you somehow misunderstood between tile_size of tileset and quadrant size to change the tile size from 32 to 16
if it’s not the case, then it’s about how using smaller resolution image is better than bigger one

ok… fine…

which in most cases, smaller image always runs quicker than big one

I mean for me, I didn’t feel any impact on performance by changing the tile res, but if you have a 16 by 16 texture, it’s reconmended you use a 16 by 16 tile set.