Skip to main content
Reupload images from imageshack to stack.imgur before they get replaced by ads; see http://meta.stackexchange.com/q/263771. Integrated images to the question.
Source Link
Vaillancourt
  • 16.4k
  • 17
  • 56
  • 61

Sorry if this question about is a bit broad.

In the game I'm making, I need an isometric view with some altitude, which means players can go behind a hill, and be partly or totally hidden. To avoid re-drawing the whole view tile after tile every time a player moves, I decided to put each horizontal line of tiles in cache and draw each line, one after another from top to bottom. This works pretty well, I think FPS are correct and everything, but memory usage could soon be a problem  : a 5050 map means 99 lines resulting in 98Mo  , a 100100 map means 199 lines and 388 Mo.

Here is a line  : http://img35.imageshack.us/img35/8866/10698169.png (sorry, as a new user, I can't use image tags)

Line

The memory consumption will grow even bigger if I allow higher altitude (each line will be stored in a higher Surface object).

I'm wondering if this cache system was really a good idea... I could code a bit better so that lines are stored in the smallest possible Surface, but there will still be a big memory consumption.

Do you have any advice, any feedback on my system  ? Is it worth optimizing, or should I forget this cache-idea ?

Thank you.

Sorry if this question about is a bit broad.

In the game I'm making, I need an isometric view with some altitude, which means players can go behind a hill, and be partly or totally hidden. To avoid re-drawing the whole view tile after tile every time a player moves, I decided to put each horizontal line of tiles in cache and draw each line, one after another from top to bottom. This works pretty well, I think FPS are correct and everything, but memory usage could soon be a problem  : a 5050 map means 99 lines resulting in 98Mo  , a 100100 map means 199 lines and 388 Mo.

Here is a line  : http://img35.imageshack.us/img35/8866/10698169.png (sorry, as a new user, I can't use image tags)

The memory consumption will grow even bigger if I allow higher altitude (each line will be stored in a higher Surface object).

I'm wondering if this cache system was really a good idea... I could code a bit better so that lines are stored in the smallest possible Surface, but there will still be a big memory consumption.

Do you have any advice, any feedback on my system  ? Is it worth optimizing, or should I forget this cache-idea ?

Thank you.

In the game I'm making, I need an isometric view with some altitude, which means players can go behind a hill, and be partly or totally hidden. To avoid re-drawing the whole view tile after tile every time a player moves, I decided to put each horizontal line of tiles in cache and draw each line, one after another from top to bottom. This works pretty well, I think FPS are correct and everything, but memory usage could soon be a problem: a 5050 map means 99 lines resulting in 98Mo, a 100100 map means 199 lines and 388 Mo.

Here is a line:

Line

The memory consumption will grow even bigger if I allow higher altitude (each line will be stored in a higher Surface object).

I'm wondering if this cache system was really a good idea... I could code a bit better so that lines are stored in the smallest possible Surface, but there will still be a big memory consumption.

Do you have any advice, any feedback on my system? Is it worth optimizing, or should I forget this cache-idea ?

Tweeted twitter.com/#!/StackGameDev/status/173733245240885248
Source Link
CGGJE
  • 133
  • 4

PyGame custom isometric engine : caching or not?

Sorry if this question about is a bit broad.

In the game I'm making, I need an isometric view with some altitude, which means players can go behind a hill, and be partly or totally hidden. To avoid re-drawing the whole view tile after tile every time a player moves, I decided to put each horizontal line of tiles in cache and draw each line, one after another from top to bottom. This works pretty well, I think FPS are correct and everything, but memory usage could soon be a problem : a 5050 map means 99 lines resulting in 98Mo , a 100100 map means 199 lines and 388 Mo.

Here is a line : http://img35.imageshack.us/img35/8866/10698169.png (sorry, as a new user, I can't use image tags)

The memory consumption will grow even bigger if I allow higher altitude (each line will be stored in a higher Surface object).

I'm wondering if this cache system was really a good idea... I could code a bit better so that lines are stored in the smallest possible Surface, but there will still be a big memory consumption.

Do you have any advice, any feedback on my system ? Is it worth optimizing, or should I forget this cache-idea ?

Thank you.