Jump to content

  • Log In with Google      Sign In   
  • Create Account

#ActualMoBaT

Posted 04 February 2013 - 08:27 PM

I'm using tmx files for my map and finally got a tmx loader to work. The map drawing code is lagging my game because of the CPU usage. To draw my map, im using code which is:

 

for (int i = 0; i < map->GetNumLayers(); ++i) 
{
		// Get a layer.
		const Tmx::Layer *layer = map->GetLayer(i);

		for (int y = 0; y < 20; ++y) 
		{
			for (int x = 0; x < 20; ++x) 
			{
				// Get a test tile which is 32 x 32.
				Sprite* Suf2 = new Sprite(Surf_Tileset->getRect(TILE_SIZE, TILE_SIZE, TILE_SIZE, TILE_SIZE), 1, 0);
				// Draw tile to position on map
				Suf2->draw(Surf_Display, x * TILE_SIZE, y * TILE_SIZE);
			}
		}
}

 

So this code is on my Map::OnRender(SDL_Surface* Display). What can I do to keep my cpu from maxing?


#1MoBaT

Posted 04 February 2013 - 07:27 PM

I'm using tmx files for my map and finally got a tmx loader to work. To draw my map, im using code which is:

 

for (int i = 0; i < map->GetNumLayers(); ++i) 
{
		// Get a layer.
		const Tmx::Layer *layer = map->GetLayer(i);

		for (int y = 0; y < 20; ++y) 
		{
			for (int x = 0; x < 20; ++x) 
			{
				// Get a test tile which is 32 x 32.
				Sprite* Suf2 = new Sprite(Surf_Tileset->getRect(TILE_SIZE, TILE_SIZE, TILE_SIZE, TILE_SIZE), 1, 0);
				// Draw tile to position on map
				Suf2->draw(Surf_Display, x * TILE_SIZE, y * TILE_SIZE);
			}
		}
}

 

So this code is on my Map::OnRender(SDL_Surface* Display). What can I do to keep my cpu from maxing?


PARTNERS