Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] optymalizacje by Benio w silniku cod


Najlepsza odpowiedź GwynBleidD, 03.12.2013 19:14

Jeśli posiadamy kilka pól typu boolean (prawda/fałsz) dla jednego gracza, albo pól wielokrotnego wyboru (np gdy mamy 2 zmienne, jedna ma 8 możliwości, a druga 4, możemy to zmieścić na 5 bitach jednej zmiennej), to lepiej nadal posiadać tablicę 33 elementową dla wszystkich graczy, ale wszystkie te pola trzymać w osobnych bitach tej samej zmiennej (tablicy). Przejdź do postu


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 01.12.2013 21:29

witam.
Mam takie pytanie.
Jak zoptymalizowac silnik cod moda (new) uzywajac techniki z polami bitowymi.
Wiem ze daje define ale co potem?
  • +
  • -
  • 0

#2 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1 535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 01.12.2013 22:36

new zmienna;
SetBit(zmienna, index)
Tak samo CheckBit i tamto 3. Tylko podmieniasz tam gdzie sa zmienne logiczne
  • +
  • -
  • 0

#3 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 02.12.2013 02:52

Nie szukaj optymalizacji tam gdzie jej nie ma. To że będziesz używał o te 32 (a nawet nie tyle, bo nie wszystkie zmienne są dla każdego gracza oddzielnie) razy mniej zmiennych, to nie ma większego znaczenia.
Chcesz optymalizacji? Zredukuj chociażby ilość wywoływania tych samych forwardów/funkcji/eventów w kilku pluginach. Jak? Najlepiej rejestrując je w silniku, a następnie wysyłając odpowiednie forwardy do innych pluginów.
 

new zmienna;
SetBit(zmienna, index)
Tak samo CheckBit i tamto 3. Tylko podmieniasz tam gdzie sa zmienne logiczne

index-1

A tak ogólnie, skoro od indexu trzeba odejmować 1, to zamiana zwykłych zmiennych na te pola bitowe, wcale nie musi być czymś bardziej optymalnym.
  • +
  • -
  • 2

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 03.12.2013 19:14   Najlepsza odpowiedź

Jeśli posiadamy kilka pól typu boolean (prawda/fałsz) dla jednego gracza, albo pól wielokrotnego wyboru (np gdy mamy 2 zmienne, jedna ma 8 możliwości, a druga 4, możemy to zmieścić na 5 bitach jednej zmiennej), to lepiej nadal posiadać tablicę 33 elementową dla wszystkich graczy, ale wszystkie te pola trzymać w osobnych bitach tej samej zmiennej (tablicy).
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#5 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 04.12.2013 15:30

aha
czyli te #define ... sa do bool.
A jakis kawalek kodu dla przykladu...
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych