diff options
| author | oldmud0 <oldmud0@users.noreply.github.com> | 2021-06-06 23:42:51 -0500 |
|---|---|---|
| committer | oldmud0 <oldmud0@users.noreply.github.com> | 2021-06-06 23:42:51 -0500 |
| commit | 7cbd343ce9647d2ae73e947b300bdcdd67828058 (patch) | |
| tree | ca2d3227f9f92da33d924080464a7b15937dff1f /src/packet_distribution.cpp | |
| parent | b0a0926d3513e3cfa6c55f0e561624b5280017c0 (diff) | |
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!
Diffstat (limited to 'src/packet_distribution.cpp')
| -rw-r--r-- | src/packet_distribution.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index dfe28f40..bcbc6671 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -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 = char_list_size * 2 + evidence_list_size + music_list_size; int loading_value = int( @@ -418,6 +414,10 @@ void AOApplication::server_packet_received(AOPacket *p_packet) 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#%")); } else if (header == "FM") // Fetch music ONLY |
