Fix excess calls to arup_append
According to profiling results, arup_append was being called around 90k times (!!) because it had been placed in the inner for loop. That's (tracks * areas)^2. Yikes!
This commit is contained in:
		
							parent
							
								
									b0a0926d35
								
							
						
					
					
						commit
						7cbd343ce9
					
				@ -405,10 +405,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      for (int area_n = 0; area_n < areas; area_n++) {
 | 
					 | 
				
			||||||
        w_courtroom->arup_append(0, "Unknown", "Unknown", "Unknown");
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      int total_loading_size =
 | 
					      int total_loading_size =
 | 
				
			||||||
          char_list_size * 2 + evidence_list_size + music_list_size;
 | 
					          char_list_size * 2 + evidence_list_size + music_list_size;
 | 
				
			||||||
      int loading_value = int(
 | 
					      int loading_value = int(
 | 
				
			||||||
@ -418,6 +414,10 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
				
			|||||||
      w_lobby->set_loading_value(loading_value);
 | 
					      w_lobby->set_loading_value(loading_value);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for (int area_n = 0; area_n < areas; area_n++) {
 | 
				
			||||||
 | 
					      w_courtroom->arup_append(0, "Unknown", "Unknown", "Unknown");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    send_server_packet(new AOPacket("RD#%"));
 | 
					    send_server_packet(new AOPacket("RD#%"));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else if (header == "FM") // Fetch music ONLY
 | 
					  else if (header == "FM") // Fetch music ONLY
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user