Witam .
Czy m?g?by mi kto? pom?c lub wyt?umaczy? .
A mianowicie chodzi mi o to ze mam ogranczaj? ilo?? punkt?w na servhost.pl 270 . W??czam serwer i po jakim? czasie serwer si? wy??cza z powody du?ego zu?ycia procesora . Czy mo?e kto? mi wyt?umaczy? dlaczego ?
Mam wygrany tylko jeden skrypt i 5 plugin?w. .
Optymalizacja polega chocia?by na tym, aby nie stosowa? zbyt du?ej ilo?ci timer?w (u?ywa? ich z g?ow?, nie przesadza? z od?wie?aniem si? ich), stosowanie statycznych tablic je?li si? wie gdzie i kiedy mo?na by je u?y?, korzysta? z funkcji kt?re zast?pi? nam timery (mam tu na my?li GetTickCount / Gettime), i innych tego typu rzeczy...
Pavlo856, no masz racje, ale gdyby?my tak np. chcieli robi? po kilkadziesi?t komend, na takie rzeczy jak wy?ej poda?em to te? to chyba nie by?o by zbyt dobre.
U?ycie sscanf'a w jednoparametrowej komendzie ma z optymalizacj? bardzo ma?o wsp?lnego.
Chyba, ?e chodzi?o Ci o zrobienie jednej komendy obs?uguj?cej przyk?adow? pogod?, zamiast dziesi?ciu. W tym wypadku optymalizacja r?wnie? b?dzie znikoma, a u?ycie Sscanf'a do jednoparametrowej komendy jest pozbawione sensu.
Co do tematowego problemu. Przejrzyj wszystkie cz?sto wykonywane funkcje, timery i callbacki. Zwr?? uwag? zw?aszcza na timery o du?ej cz?stotliwo?ci wykonania. Sprawd? czy nie masz tam jaki? wielkich p?tli, kt?re mo?na zast?pi? w jaki? inny spos?b. Zwr?? r?wnie? uwag? czy nie ma zagnie?d?onych p?tli, czyli p?tli w p?tlach, kt?re mo?e jeszcze dodatkowo zawieraj? ci??kostrawny kod. Pomy?l r?wnie?, czy nie mo?na zmniejszy? cz?stotliwo?ci danego timera. Dobrym pomys?em jest dostosowanie makrodefinicji "MAX_PLAYERS" do potrzeb Twojego serwera. Przyk?adowo:
Odci??y to p?tle oraz zmniejszy rozmiary tablic dla graczy. Co dalej... Oczywi?cie, tak jak napisa?em wcze?niej, sprawd? callbacki zw?aszcza te cz?sto wywo?ywane, jak np. "OnPlayerUpdate". Zbyt du?a ilo?? ci??kostrawnego kodu w tym miejscu obci??y serwer. "OnPlayerTakeDamage" i/lub "OnPlayerGiveDamage", "OnPlayerWeaponShot" r?wnie? powinny by? maksymalnie sprawne. Ostatnim co przychodzi mi do g?owy, to zastosowanie tablic i zmiennych statycznych oraz przekazywanie parametr?w funkcji przez referencje. Jednak to da niewielkie zoptymalizowanie kodu w por?wnaniu z np. poprawieniem kodu p?tli w timerach, kt?re najcz??ciej s? powodami obci??e?.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach