GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: SnooP - 2014. augusztus 13. - 20:56:44

Cím: Parancs lefutási sebesség ellenõrzése
Írta: SnooP - 2014. augusztus 13. - 20:56:44
Sziasztok. Milyen módon lehet ellenõrizni az, hogy két parancs közül melyik fut le gyorsabban. Én Tickcountra saccolok, de azért gondoltam rákérdezek itt is. Válaszokat elõre is köszönöm.
Cím: Parancs lefutási sebesség ellenõrzése
Írta: TengeriMalac - 2014. augusztus 13. - 21:04:43
GetTickCount
Cím: Parancs lefutási sebesség ellenõrzése
Írta: SnooP - 2014. augusztus 20. - 10:31:58
Valahogy nem tudom megmérni :D
Akkor kérdeznék konkrétan egy példával és így legalább érthetõ lesz: Van egy számunk legyen ez most a 183 és én ebbõl addig vonnék ki 60-at amíg az eredmény kisebb nem lenne 59-nél. A kérdés az, hogy ezt hogyan gyorsabb és lagmentesebb végezni?
1. Változat: Elosztom a számot 60-al. Amennyi kijön (3) beszorzom hatvannal, majd kivonom a 183-ból. (azért osztom és szorzom is 3-al, mert nekem a 3-as szám is kell, vagyis a hányadosra is szükségem van)
2. Változat: Beállítok egy ciklust aminek az értéke 60 és minden lefutásnál kivon a 183 ból 60-at egészen addig ameddig az eredmény kevesebb lesz 60-nál.
Melyik a jobb megoldás? Esetleg ezek gyorsabban és lagmentesebben mûködnek mint a timerek?
Cím: Parancs lefutási sebesség ellenõrzése
Írta: KovaNovik - 2014. augusztus 20. - 21:27:27
new count = GetTickCount();
//valami valami
printf(\"Eltelt idõ (tickben, ami nem ms!): %d\", GetTickCount() - count);

 
Magyarul a végén aktuális gettickcountból kivonod az elõtte lévõt.
A leggyorsabb módszer a hányados megszerzésére (nem biztos, hogy jó):
 
183 % 60

 
183 osztva hatvannal maradéka
Cím: Parancs lefutási sebesség ellenõrzése
Írta: SnooP - 2014. augusztus 21. - 22:18:54
Na közben alávetettem egy kis tesztelés/terhelésnek, a ciklus elvérzik nagyobb terhelés alatt. Az alap matek mûvelet viszont kõkeményen és bugtalanul és gyorsabban elvégzi a feladatot :D
Amúgy nem értem, hogy mondjuk mi a különbség a:
 
183 / 60

 és a
183 % 60

 között ugyan az a végeredmény :D
Cím: Parancs lefutási sebesség ellenõrzése
Írta: KovaNovik - 2014. augusztus 21. - 22:42:54
Pech, hogy 183-ban a 60 megvan háromszor, három maradékkal. :D
Cím: Parancs lefutási sebesség ellenõrzése
Írta: SnooP - 2014. augusztus 21. - 22:51:08
Épp ezért szorzunk vissza a hányadossal és kivonjuk az eredeti számból és megkapjuk a maradékot is. Sajnos ez a legkönnyebb módszer és nincs rövidebb / gyorsabb megoldás. :D