Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

#Actualchondee

Posted 17 January 2012 - 01:16 AM

Thank You!
This is the first time I use CodeAnalyst, I guess this is what we need.
This one is for the SFML code:

CS:EIP Symbol + Offset Timer samples  
0xd33560  Particle::show   73.98   
0xd31a70  Player::show_particles   13.12   
0xd36150  std::_Remove_if<Particle *,bool (__cdecl*)(Particle)>    9.28   
0xd37290  std::_Uninit_copy<Particle *,Particle *,std::allocator<Particle> >  0.9
0xd32800  World::show_stars    0.68   
0xd36ed0  std::_Find_if<Star *,bool (__cdecl*)(Star)> 0.68   
0xd363c0  std::_Remove_if<Star *,bool (__cdecl*)(Star)>    0.45   
0xd32630  World::show_enemies 0.23   
0xd32790  dead_s   0.23   
0xd33410  Star::show   0.23   
0xd34d60  main 0.23   


11 functions, 82 instructions, Total: 442 samples, 100.00% of shown samples, 2.27% of total session samples

So the way I tested performance, since in this early version of my game there aren't many objects, I increased the particles coming out from the player's thruster (in both SDL and SFML, the same number)

In the SFML one it seems like this takes up everything.

Here is the code for Particle::show:
void Particle::show()
{
	//Show image
if (initialized == false){
if	  (type == 1) part = p1;
else if (type == 2) part = p2;
else if (type == 3) part = p3;
else if (type == 4) part = p4;
else if (type == 5) part = bparticle;
else if (type == 6){
  if ((rand() % 4) == 0)
  part = p1;
  else if ((rand() % 4) == 1)
  part = p2;
  else if ((rand() % 4) == 2)
  part = p3;
  else if ((rand() % 4) == 1)
  part = p4;}
initialized = true;
}

	if(alive)
{
part.SetPosition(x,y);
App.Draw(part);

//apply_surface( x, y, part, screen );
	}

	//Animate
//stuff here is not relevant, and its exactly the same in both

EDIT:
Since then I tested it with part.SetPosition(x,y); and App.Draw(part); commented out, so they are not drawn, and still Particle::show takes up 61% of the resources (was 74 previously)...  with that commented out, the SDL and SFML Particle::show() are identical, except in SDL they actually get drawn.


I'll put the same code here for SDL for comparison, so you won't have to scroll back and forth.
void Particle::show()
{
	//Show image
if (part == NULL){
if	  (type == 1) part = p1;
else if (type == 2) part = p2;
else if (type == 3) part = p3;
else if (type == 4) part = p4;
else if (type == 5) part = bparticle;
else if (type == 6){
  if ((rand() % 4) == 0)
  part = p1;
  else if ((rand() % 4) == 1)
  part = p2;
  else if ((rand() % 4) == 2)
  part = p3;
  else if ((rand() % 4) == 1)
  part = p4;}
}

	if(alive)
apply_surface( x, y, part, screen );
  
	//Animate


And CodeAnalyst result for the SDL code, Particle::show doesn't strain it as much at all


CS:EIP Symbol + Offset Timer samples  
0xc05ab0  Particle::show 7.09   
0xc08530  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator++    4.8
0xc04fd0  apply_surface   4.77   
0xc0a2a0  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator== 4.64   
0xc08170  std::vector<Particle,std::allocator<Particle> >::end    4.39   
0xc0bd00  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator++ 4.27   
0xc0bc10  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >  4.23   
0xc0a140  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >   4.16   
0xc0bcc0  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator*   4.15   
0xc02cb0  dead_p 4.1
0xc0bc80  std::_Iterator_base0::_Adopt    3.98   
0xc084e0  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator->    3.95   
0xc0a1f0  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator++    3.73   
0xc0bd50  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::_Compat 3.57   
0xc0a1a0  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator* 3.53   
0xc085e0  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator!= 3.41   
0xc0f1e0  std::_Remove_if<Particle *,bool (__cdecl*)(Particle)>   3.15   
0xc11dd0  std::_Move<Particle &> 2.75   
0xc13d7f  _RTC_CheckStackVars 2.65   
0xc017fd  ILT+2040(__RTC_CheckEsp)    1.69   
0xc0f8d0  std::forward<Particle const &> 1.65   
0xc105d0  std::_Construct<Particle,Particle const &> 1.61   
0xc03dc0  Player::show_particles 1.32   
0xc02e70  Particle::Particle 1.11   
0xc09df0  std::vector<Particle,std::allocator<Particle> >::_Inside    1.01   
0xc0def0  std::_Cons_val<std::allocator<Particle>,Particle,Particle const &> 1.01   
0xc0de50  std::addressof<Particle const > 0.95   
0xc13030  std::_Destroy<Particle> 0.92   
0xc081e0  std::vector<Particle,std::allocator<Particle> >::push_back 0.9
0xc12a00  std::allocator<Particle>::destroy   0.85   
0xc0ed60  std::allocator<Particle>::construct 0.8
0xc13d54  _RTC_CheckEsp   0.8
0xc09ff0  std::vector<Particle,std::allocator<Particle> >::_Orphan_range 0.72   
0xc120c0  std::_Dest_val<std::allocator<Particle>,Particle>   0.71   
0xc0f860  operator new    0.63   
0xc0190b  ILT+2310(?dead_pYA_NVParticleZ) 0.22   
0xc05890  Star::show 0.22   
0xc0c860  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator*   0.22   
0xc013d4  ILT+975(_RTC_CheckStackVars 0.21   
0xc09210  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator++    0.21   
0xc047a0  dead_s 0.19   
0xc08e40  std::vector<Star,std::allocator<Star> >::end    0.18   
0xc0c8a0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator++ 0.18   
0xc0102d  ILT+40(??D?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBEAAVParticleXZ) 0.16   
0xc0147e  ILT+1145(?_Compat?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBEXABV12Z)   0.16   
0xc10190  std::_Destroy_range<std::allocator<Particle> > 0.16   
0xc01785  ILT+1920(??E?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAEAAV01XZ) 0.14   
0xc01915  ILT+2320(?showParticleQAEXXZ)   0.14   
0xc0c7f0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >   0.14   
0xc0140b  ILT+1030(??8?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBE_NABV01Z)   0.13   
0xc0c8f0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::_Compat 0.13   
0xc011bd  ILT+440(??9?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBE_NABV01Z)    0.11   
0xc011e0  ILT+475(??0?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAEPAVParticlePBU_Container_base0   0.11   
0xc0164f  ILT+1610(?apply_surfaceYAXHHPAUSDL_Surface 0.11   
0xc01a87  ILT+2690(??E?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAE?AV01HZ) 0.11   
0xc092c0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator!= 0.11   
0xc0ad40  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >   0.11   
0xc01384  ILT+895(??C?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBEPAVParticleXZ) 0.1
0xc0171c  ILT+1815(??$_MoveAAVParticlestdYA$$QAVParticleAAV1Z)    0.1
0xc091c0  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator->    0.1
0xc0ada0  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator* 0.1
0xc01875  ILT+2160(??0?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAEPAVParticlePBU_Container_base0    0.08   
0xc047f0  World::show_stars   0.08   
0xc13610  std::forward<Particle> 0.08   
0xc13ce8  SDL_UpperBlit   0.08   
0xc013b1  ILT+940(??E?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAEAAV01XZ) 0.06   
0xc0153c  ILT+1335(?end?$vectorVParticleV?$allocatorVParticlestdstdQAE?AV?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstd 0.06   
0xc08b50  std::_Vector_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator->    0.06   
0xc09930  std::_Vector_const_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator!=    0.06   
0xc01122  ILT+285(??2YAPAXIPAXZ) 0.05   
0xc01320  ILT+795(??$_ConstructVParticleABV1stdYAXPAVParticleABV1Z)   0.05   
0xc01627  ILT+1570(?_Adopt_Iterator_base0stdQAEXPBXZ) 0.05   
0xc0a740  std::_Vector_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::_Vector_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >   0.05   
0xc0adf0  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator++    0.05   
0xc0b340  std::_Vector_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::_Vector_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >   0.05   
0xc0b4a0  std::_Vector_const_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator==    0.05   
0xc11f80  std::_Move<Star &> 0.05   
0xc01230  ILT+555(??D?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBEABVParticleXZ)   0.03   
0xc013e3  ILT+990(??$_DestroyVParticlestdYAXPAVParticleZ) 0.03   
0xc014b5  ILT+1200(?_Inside?$vectorVParticleV?$allocatorVParticlestdstdIBE_NPBVParticleZ) 0.03   
0xc019ec  ILT+2535(??$_Cons_valV?$allocatorVParticlestdVParticleABV3stdYAXAAV?$allocatorVParticle 0.03   
0xc01a9b  ILT+2710(_SDL_UpperBlit)    0.03   
0xc01ab4  ILT+2735(?_Orphan_range?$vectorVParticleV?$allocatorVParticlestdstdIBEXPAVParticle 0.03   
0xc02760  Enemy::move 0.03   
0xc037e0  World::show 0.03   
0xc07930  SDL_main    0.03   
0xc09830  std::_Vector_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator-> 0.03   
0xc09880  std::_Vector_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator++ 0.03   
0xc09f20  std::vector<Particle,std::allocator<Particle> >::_Tidy 0.03   
0xc0aea0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator== 0.03   
0xc0bb70  std::allocator<Particle>::allocator<Particle>   0.03   
0xc0c320  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::_Compat 0.03   
0xc0ce30  std::_Vector_const_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator* 0.03   
0xc11780  std::vector<Particle,std::allocator<Particle> >::begin 0.03   
0xc12b80  std::_Cons_val<std::allocator<Particle>,Particle,Particle> 0.03   
0xc0115e  ILT+345(?construct?$allocatorVParticlestdQAEXPAVParticle$$QAV3Z)    0.02   
0xc011db  ILT+470(??0ParticleQAEHHHZ) 0.02   
0xc01217  ILT+530(?enemy_moveWorldQAEXXZ) 0.02   
0xc013c5  ILT+960(?_Compat?$_Vector_const_iteratorV?$_Vector_valVBulletV?$allocatorVBulletstdstdstdQBEXABV12Z)    0.02   
0xc01451  ILT+1100(??0?$_Vector_const_iteratorV?$_Vector_valVStarV?$allocatorVStarstdstdstdQAEPAVStarPBU_Container_base0 0.02   
0xc0145b  ILT+1110(?destroy?$allocatorVParticlestdQAEXPAVParticleZ)   0.02   
0xc01672  ILT+1645(??C?$_Vector_iteratorV?$_Vector_valVEnemyV?$allocatorVEnemystdstdstdQBEPAVEnemyXZ) 0.02   
0xc017ad  ILT+1960(??C?$_Vector_iteratorV?$_Vector_valVStarV?$allocatorVStarstdstdstdQBEPAVStarXZ)    0.02   
0xc01893  ILT+2190(?_Compat?$_Vector_const_iteratorV?$_Vector_valVStarV?$allocatorVStarstdstdstdQBEXABV12Z)   0.02   
0xc018d9  ILT+2260(??D?$_Vector_const_iteratorV?$_Vector_valVStarV?$allocatorVStarstdstdstdQBEABVStarXZ) 0.02   
0xc03bf0  World::show_player 0.02   
0xc04550  World::show_enemies 0.02   
0xc06e30  Bullet::show    0.02   
0xc07430  Collision_Detection 0.02   
0xc08060  std::vector<Particle,std::allocator<Particle> >::~vector<Particle,std::allocator<Particle> >    0.02   
0xc08100  std::vector<Particle,std::allocator<Particle> >::begin 0.02   
0xc08c50  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator!= 0.02   
0xc09d80  std::vector<Particle,std::allocator<Particle> >::_Destroy   0.02   
0xc0a510  std::vector<Bullet,std::allocator<Bullet> >::_Tidy 0.02   
0xc0a7f0  std::_Vector_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator++    0.02   
0xc0a8a0  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator== 0.02   
0xc0abf0  std::vector<Star,std::allocator<Star> >::_Orphan_range 0.02   
0xc0bfc0  std::vector<Bullet,std::allocator<Bullet> >::size   0.02   
0xc0c220  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >   0.02   
0xc0c290  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator*   0.02   
0xc0ea20  std::_Allocate<Bullet> 0.02   
0xc0ef70  std::_Unchecked<std::_Vector_val<Bullet,std::allocator<Bullet> > > 0.02   
0xc0f0b0  std::_Rechecked<std::_Vector_val<Bullet,std::allocator<Bullet> > > 0.02   
0xc0f100  std::find_if<std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >,bool (__cdecl*)(Particle)>    0.02   
0xc0f190  std::_Unchecked<std::_Vector_val<Particle,std::allocator<Particle> > > 0.02   
0xc0f600  std::_Remove_if<Star *,bool (__cdecl*)(Star)>   0.02   
0xc0fb50  std::forward<Bullet const &>    0.02   
0xc117f0  std::vector<Particle,std::allocator<Particle> >::end    0.02   
0xc11d40  std::_Find_if<Particle *,bool (__cdecl*)(Particle)> 0.02   
0xc11ef0  std::_Find_if<Star *,bool (__cdecl*)(Star)> 0.02   
0xc128a0  std::vector<Bullet,std::allocator<Bullet> >::_Ucopy<std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > > >    0.02   
0xc13210  std::allocator<Particle>::construct 0.02   

132 functions, 610 instructions, Total: 6224 samples, 100.00% of shown samples, 20.72% of total session samples

#1chondee

Posted 17 January 2012 - 12:49 AM

Thank You!
This is the first time I use CodeAnalyst, I guess this is what we need.
This one is for the SFML code:

CS:EIP    Symbol + Offset                                                     Timer samples  
0xd33560  Particle::show                                                      73.98          
0xd31a70  Player::show_particles                                              13.12          
0xd36150  std::_Remove_if<Particle *,bool (__cdecl*)(Particle)>               9.28          
0xd37290  std::_Uninit_copy<Particle *,Particle *,std::allocator<Particle> >  0.9            
0xd32800  World::show_stars                                                   0.68          
0xd36ed0  std::_Find_if<Star *,bool (__cdecl*)(Star)>                         0.68          
0xd363c0  std::_Remove_if<Star *,bool (__cdecl*)(Star)>                       0.45          
0xd32630  World::show_enemies                                                 0.23          
0xd32790  dead_s                                                              0.23          
0xd33410  Star::show                                                          0.23          
0xd34d60  main                                                                0.23          


11 functions, 82 instructions, Total: 442 samples, 100.00% of shown samples, 2.27% of total session samples

So the way I tested performance, since in this early version of my game there aren't many objects, I increased the particles coming out from the player's thruster (in both SDL and SFML, the same number)

In the SFML one it seems like this takes up everything.

Here is the code for Particle::show:
void Particle::show()
{
    //Show image
if (initialized == false){
if	  (type == 1) part = p1;
else if (type == 2) part = p2;
else if (type == 3) part = p3;
else if (type == 4) part = p4;
else if (type == 5) part = bparticle;
else if (type == 6){
  if ((rand() % 4) == 0)
  part = p1;
  else if ((rand() % 4) == 1)
  part = p2;
  else if ((rand() % 4) == 2)
  part = p3;
  else if ((rand() % 4) == 1)
  part = p4;}
initialized = true;
}

    if(alive)
{
part.SetPosition(x,y);
App.Draw(part);

//apply_surface( x, y, part, screen );
    }

    //Animate
//stuff here is not relevant, and its exactly the same in both

I'll put the same code here for SDL for comparison, so you won't have to scroll back and forth.
void Particle::show()
{
    //Show image
if (part == NULL){
if	  (type == 1) part = p1;
else if (type == 2) part = p2;
else if (type == 3) part = p3;
else if (type == 4) part = p4;
else if (type == 5) part = bparticle;
else if (type == 6){
  if ((rand() % 4) == 0)
  part = p1;
  else if ((rand() % 4) == 1)
  part = p2;
  else if ((rand() % 4) == 2)
  part = p3;
  else if ((rand() % 4) == 1)
  part = p4;}
}

    if(alive)
apply_surface( x, y, part, screen );
   
    //Animate


And CodeAnalyst result for the SDL code, Particle::show doesn't strain it as much at all


CS:EIP    Symbol + Offset                                                                                                                                                    Timer samples  
0xc05ab0  Particle::show                                                                                                                                                     7.09          
0xc08530  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator++                                                                           4.8            
0xc04fd0  apply_surface                                                                                                                                                      4.77          
0xc0a2a0  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator==                                                                     4.64          
0xc08170  std::vector<Particle,std::allocator<Particle> >::end                                                                                                               4.39          
0xc0bd00  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator++                                                                     4.27          
0xc0bc10  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >  4.23          
0xc0a140  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >              4.16          
0xc0bcc0  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator*                                                                      4.15          
0xc02cb0  dead_p                                                                                                                                                             4.1            
0xc0bc80  std::_Iterator_base0::_Adopt                                                                                                                                       3.98          
0xc084e0  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator->                                                                           3.95          
0xc0a1f0  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator++                                                                           3.73          
0xc0bd50  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::_Compat                                                                        3.57          
0xc0a1a0  std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator*                                                                            3.53          
0xc085e0  std::_Vector_const_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >::operator!=                                                                     3.41          
0xc0f1e0  std::_Remove_if<Particle *,bool (__cdecl*)(Particle)>                                                                                                              3.15          
0xc11dd0  std::_Move<Particle &>                                                                                                                                             2.75          
0xc13d7f  _RTC_CheckStackVars                                                                                                                                                2.65          
0xc017fd  ILT+2040(__RTC_CheckEsp)                                                                                                                                           1.69          
0xc0f8d0  std::forward<Particle const &>                                                                                                                                     1.65          
0xc105d0  std::_Construct<Particle,Particle const &>                                                                                                                         1.61          
0xc03dc0  Player::show_particles                                                                                                                                             1.32          
0xc02e70  Particle::Particle                                                                                                                                                 1.11          
0xc09df0  std::vector<Particle,std::allocator<Particle> >::_Inside                                                                                                           1.01          
0xc0def0  std::_Cons_val<std::allocator<Particle>,Particle,Particle const &>                                                                                                 1.01          
0xc0de50  std::addressof<Particle const >                                                                                                                                    0.95          
0xc13030  std::_Destroy<Particle>                                                                                                                                            0.92          
0xc081e0  std::vector<Particle,std::allocator<Particle> >::push_back                                                                                                         0.9            
0xc12a00  std::allocator<Particle>::destroy                                                                                                                                  0.85          
0xc0ed60  std::allocator<Particle>::construct                                                                                                                                0.8            
0xc13d54  _RTC_CheckEsp                                                                                                                                                      0.8            
0xc09ff0  std::vector<Particle,std::allocator<Particle> >::_Orphan_range                                                                                                     0.72          
0xc120c0  std::_Dest_val<std::allocator<Particle>,Particle>                                                                                                                  0.71          
0xc0f860  operator new                                                                                                                                                       0.63          
0xc0190b  ILT+2310(?dead_pYA_NVParticleZ)                                                                                                                                    0.22          
0xc05890  Star::show                                                                                                                                                         0.22          
0xc0c860  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator*                                                                              0.22          
0xc013d4  ILT+975(_RTC_CheckStackVars                                                                                                                                        0.21          
0xc09210  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator++                                                                                   0.21          
0xc047a0  dead_s                                                                                                                                                             0.19          
0xc08e40  std::vector<Star,std::allocator<Star> >::end                                                                                                                       0.18          
0xc0c8a0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator++                                                                             0.18          
0xc0102d  ILT+40(??D?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBEAAVParticleXZ)                                                                 0.16          
0xc0147e  ILT+1145(?_Compat?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBEXABV12Z)                                                          0.16          
0xc10190  std::_Destroy_range<std::allocator<Particle> >                                                                                                                     0.16          
0xc01785  ILT+1920(??E?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAEAAV01XZ)                                                                     0.14          
0xc01915  ILT+2320(?showParticleQAEXXZ)                                                                                                                                      0.14          
0xc0c7f0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >                  0.14          
0xc0140b  ILT+1030(??8?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBE_NABV01Z)                                                              0.13          
0xc0c8f0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::_Compat                                                                                0.13          
0xc011bd  ILT+440(??9?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBE_NABV01Z)                                                               0.11          
0xc011e0  ILT+475(??0?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAEPAVParticlePBU_Container_base0                                          0.11          
0xc0164f  ILT+1610(?apply_surfaceYAXHHPAUSDL_Surface                                                                                                                         0.11          
0xc01a87  ILT+2690(??E?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAE?AV01HZ)                                                                     0.11          
0xc092c0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator!=                                                                             0.11          
0xc0ad40  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >                              0.11          
0xc01384  ILT+895(??C?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBEPAVParticleXZ)                                                                0.1            
0xc0171c  ILT+1815(??$_MoveAAVParticlestdYA$$QAVParticleAAV1Z)                                                                                                               0.1            
0xc091c0  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator->                                                                                   0.1            
0xc0ada0  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator*                                                                                    0.1            
0xc01875  ILT+2160(??0?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAEPAVParticlePBU_Container_base0                                               0.08          
0xc047f0  World::show_stars                                                                                                                                                  0.08          
0xc13610  std::forward<Particle>                                                                                                                                             0.08          
0xc13ce8  SDL_UpperBlit                                                                                                                                                      0.08          
0xc013b1  ILT+940(??E?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQAEAAV01XZ)                                                                0.06          
0xc0153c  ILT+1335(?end?$vectorVParticleV?$allocatorVParticlestdstdQAE?AV?$_Vector_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstd                                0.06          
0xc08b50  std::_Vector_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator->                                                                               0.06          
0xc09930  std::_Vector_const_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator!=                                                                           0.06          
0xc01122  ILT+285(??2YAPAXIPAXZ)                                                                                                                                             0.05          
0xc01320  ILT+795(??$_ConstructVParticleABV1stdYAXPAVParticleABV1Z)                                                                                                          0.05          
0xc01627  ILT+1570(?_Adopt_Iterator_base0stdQAEXPBXZ)                                                                                                                        0.05          
0xc0a740  std::_Vector_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::_Vector_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >                      0.05          
0xc0adf0  std::_Vector_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator++                                                                                   0.05          
0xc0b340  std::_Vector_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::_Vector_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >                          0.05          
0xc0b4a0  std::_Vector_const_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator==                                                                           0.05          
0xc11f80  std::_Move<Star &>                                                                                                                                                 0.05          
0xc01230  ILT+555(??D?$_Vector_const_iteratorV?$_Vector_valVParticleV?$allocatorVParticlestdstdstdQBEABVParticleXZ)                                                          0.03          
0xc013e3  ILT+990(??$_DestroyVParticlestdYAXPAVParticleZ)                                                                                                                    0.03          
0xc014b5  ILT+1200(?_Inside?$vectorVParticleV?$allocatorVParticlestdstdIBE_NPBVParticleZ)                                                                                    0.03          
0xc019ec  ILT+2535(??$_Cons_valV?$allocatorVParticlestdVParticleABV3stdYAXAAV?$allocatorVParticle                                                                            0.03          
0xc01a9b  ILT+2710(_SDL_UpperBlit)                                                                                                                                           0.03          
0xc01ab4  ILT+2735(?_Orphan_range?$vectorVParticleV?$allocatorVParticlestdstdIBEXPAVParticle                                                                                 0.03          
0xc02760  Enemy::move                                                                                                                                                        0.03          
0xc037e0  World::show                                                                                                                                                        0.03          
0xc07930  SDL_main                                                                                                                                                           0.03          
0xc09830  std::_Vector_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator->                                                                                 0.03          
0xc09880  std::_Vector_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator++                                                                                 0.03          
0xc09f20  std::vector<Particle,std::allocator<Particle> >::_Tidy                                                                                                             0.03          
0xc0aea0  std::_Vector_const_iterator<std::_Vector_val<Star,std::allocator<Star> > >::operator==                                                                             0.03          
0xc0bb70  std::allocator<Particle>::allocator<Particle>                                                                                                                      0.03          
0xc0c320  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::_Compat                                                                            0.03          
0xc0ce30  std::_Vector_const_iterator<std::_Vector_val<Enemy,std::allocator<Enemy> > >::operator*                                                                            0.03          
0xc11780  std::vector<Particle,std::allocator<Particle> >::begin                                                                                                             0.03          
0xc12b80  std::_Cons_val<std::allocator<Particle>,Particle,Particle>                                                                                                         0.03          
0xc0115e  ILT+345(?construct?$allocatorVParticlestdQAEXPAVParticle$$QAV3Z)                                                                                                   0.02          
0xc011db  ILT+470(??0ParticleQAEHHHZ)                                                                                                                                        0.02          
0xc01217  ILT+530(?enemy_moveWorldQAEXXZ)                                                                                                                                    0.02          
0xc013c5  ILT+960(?_Compat?$_Vector_const_iteratorV?$_Vector_valVBulletV?$allocatorVBulletstdstdstdQBEXABV12Z)                                                               0.02          
0xc01451  ILT+1100(??0?$_Vector_const_iteratorV?$_Vector_valVStarV?$allocatorVStarstdstdstdQAEPAVStarPBU_Container_base0                                                     0.02          
0xc0145b  ILT+1110(?destroy?$allocatorVParticlestdQAEXPAVParticleZ)                                                                                                          0.02          
0xc01672  ILT+1645(??C?$_Vector_iteratorV?$_Vector_valVEnemyV?$allocatorVEnemystdstdstdQBEPAVEnemyXZ)                                                                        0.02          
0xc017ad  ILT+1960(??C?$_Vector_iteratorV?$_Vector_valVStarV?$allocatorVStarstdstdstdQBEPAVStarXZ)                                                                           0.02          
0xc01893  ILT+2190(?_Compat?$_Vector_const_iteratorV?$_Vector_valVStarV?$allocatorVStarstdstdstdQBEXABV12Z)                                                                  0.02          
0xc018d9  ILT+2260(??D?$_Vector_const_iteratorV?$_Vector_valVStarV?$allocatorVStarstdstdstdQBEABVStarXZ)                                                                     0.02          
0xc03bf0  World::show_player                                                                                                                                                 0.02          
0xc04550  World::show_enemies                                                                                                                                                0.02          
0xc06e30  Bullet::show                                                                                                                                                       0.02          
0xc07430  Collision_Detection                                                                                                                                                0.02          
0xc08060  std::vector<Particle,std::allocator<Particle> >::~vector<Particle,std::allocator<Particle> >                                                                       0.02          
0xc08100  std::vector<Particle,std::allocator<Particle> >::begin                                                                                                             0.02          
0xc08c50  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator!=                                                                         0.02          
0xc09d80  std::vector<Particle,std::allocator<Particle> >::_Destroy                                                                                                          0.02          
0xc0a510  std::vector<Bullet,std::allocator<Bullet> >::_Tidy                                                                                                                 0.02          
0xc0a7f0  std::_Vector_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator++                                                                               0.02          
0xc0a8a0  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator==                                                                         0.02          
0xc0abf0  std::vector<Star,std::allocator<Star> >::_Orphan_range                                                                                                             0.02          
0xc0bfc0  std::vector<Bullet,std::allocator<Bullet> >::size                                                                                                                  0.02          
0xc0c220  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >          0.02          
0xc0c290  std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > >::operator*                                                                          0.02          
0xc0ea20  std::_Allocate<Bullet>                                                                                                                                             0.02          
0xc0ef70  std::_Unchecked<std::_Vector_val<Bullet,std::allocator<Bullet> > >                                                                                                 0.02          
0xc0f0b0  std::_Rechecked<std::_Vector_val<Bullet,std::allocator<Bullet> > >                                                                                                 0.02          
0xc0f100  std::find_if<std::_Vector_iterator<std::_Vector_val<Particle,std::allocator<Particle> > >,bool (__cdecl*)(Particle)>                                               0.02          
0xc0f190  std::_Unchecked<std::_Vector_val<Particle,std::allocator<Particle> > >                                                                                             0.02          
0xc0f600  std::_Remove_if<Star *,bool (__cdecl*)(Star)>                                                                                                                      0.02          
0xc0fb50  std::forward<Bullet const &>                                                                                                                                       0.02          
0xc117f0  std::vector<Particle,std::allocator<Particle> >::end                                                                                                               0.02          
0xc11d40  std::_Find_if<Particle *,bool (__cdecl*)(Particle)>                                                                                                                0.02          
0xc11ef0  std::_Find_if<Star *,bool (__cdecl*)(Star)>                                                                                                                        0.02          
0xc128a0  std::vector<Bullet,std::allocator<Bullet> >::_Ucopy<std::_Vector_const_iterator<std::_Vector_val<Bullet,std::allocator<Bullet> > > >                               0.02          
0xc13210  std::allocator<Particle>::construct                                                                                                                                0.02          

132 functions, 610 instructions, Total: 6224 samples, 100.00% of shown samples, 20.72% of total session samples

PARTNERS