Jump to content
  • 0

Tileset max size?


Shilo

Question

6 answers to this question

Recommended Posts

  • 2

It is my understanding that when textures are loaded onto graphic cards the widths and heights must be power of two values:  (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, etc....)

 

It is also my understanding that the width and height do not need to be the same. If you loaded a 512x1024 texture the graphic card would store it in a 512x1024 space. Where as if one of the values were not a POT, they would be expanded, so if you tried to load a 600x1024 texture then that texture would be stored in a 1024x1024 space.

 

1 hour ago, Shilo said:

2048x2048 isn't the real max right?

It's not an intersect limitation, Intersect should support well over 8096x8096, but textures larger than 2048x2048 can be very hard for some graphic cards to handle. It depends on the power of your players' systems.

 

1 hour ago, Shilo said:

Can you give more details on the true impact of memory vs performance when loading assets? I know this is a really detailed topic but any details would be great. I think our goal would be tilesets between 1024x1024 and 2048x2048, but if memory is that huge of an issue, then we should probably rethink it.

It is system dependent, and I haven't personally experienced problems resulting of large tilesets before. (Just heard of them)   You will have a surprising number of players with low end (sub $200) amd laptops from walmart filled with bloatware that want to play your game, and it's those players who you'd potentially lose if your tilesets are massive and their low end gpus can't handle the pressure.

 

Either shoot for 1024 height or go all the way to 2048.. if your tilesets are 1200px in height most graphic cards will allocate those tilesets in memory as 2048px in height anyways, so you might as well make use of that space.

Link to comment
Share on other sites

  • 0
On 10/12/2018 at 8:21 AM, jcsnider said:

2048x2048max. I’d recommend keeping the width at 512 or so and the height at 1024. 

 

If you can keep the heights of all at or below 1024 you’re doing really good. 


Thank you!

2048x2048 isn't the real max right? The editor just gives a warning about older systems. What technology/specs are limited to 2048x2048?

Also you recommend width at 512 but height at 1024. Doesn't textures get loaded as squares powered by 2 (or something like that), so it would be loaded as a 1024x1024 texture. I have to admit I don't really understand how it all works but I believe it's worked that way in a few engines ive used. So wouldn't it be best to stick to squared assets? So if the height is 1024, then it will load the width as 1024.

Previously, we had over 130 tilesets, and we decided to remove all of the Mack tilesets and other tilesets to keep consistency and easier development. It dropped it down to below 130 tilesets. Then we started combining tilesets and dropped it down to nearly 100 tilesets.

Managing over 100 tilesets is really hard when mapping, so we think combining tilesets is a must. So if we can have large tilesets while also minimizing any big memory impacts, woudl be great.

I also know that having as many tiles in one tileset also improves frame rate performance. So not only is it easier to manage in the editor, its also better performance in the game.

Any recommendations on how to manage it all better? I feel like the real suggestion will be start removing tilesets, but we've tried to trim it as best as we can while also having as much variety as possible.

 

Overall, id like to know the true memory impact vs performance impact based on the sizing of tilesets. Can you give more details on the true impact of memory vs performance when loading assets? I know this is a really detailed topic but any details would be great. I think our goal would be tilesets between 1024x1024 and 2048x2048, but if memory is that huge of an issue, then we should probably rethink it.

 

Sorry to go into so much detail. This stuff becomes OCD for me. I'm always shooting to optimize everything while also not limiting our game.

Link to comment
Share on other sites

  • 0
2 hours ago, jcsnider said:

It is my understanding that when textures are loaded onto graphic cards the widths and heights must be power of two values:  (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, etc....)

 

It is also my understanding that the width and height do not need to be the same. If you loaded a 512x1024 texture the graphic card would store it in a 512x1024 space. Where as if one of the values were not a POT, they would be expanded, so if you tried to load a 600x1024 texture then that texture would be stored in a 1024x1024 space.

 

It's not an intersect limitation, Intersect should support well over 8096x8096, but textures larger than 2048x2048 can be very hard for some graphic cards to handle. It depends on the power of your players' systems.

 

It is system dependent, and I haven't personally experienced problems resulting of large tilesets before. (Just heard of them)   You will have a surprising number of players with low end (sub $200) amd laptops from walmart filled with bloatware that want to play your game, and it's those players who you'd potentially lose if your tilesets are massive and their low end gpus can't handle the pressure.

 

Either shoot for 1024 height or go all the way to 2048.. if your tilesets are 1200px in height most graphic cards will allocate those tilesets in memory as 2048px in height anyways, so you might as well make use of that space.

 

Thank you very much! Very informative and covers a lot of my wonders. :D

Link to comment
Share on other sites

×
×
  • Create New...