Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2018-03-31, 11:27


Kalizman







Wiek: 23
Na forum: 3651 dni
Posty: 1394

Piwa: 4619

Respekt: 358,8
Respekt: 358,8Respekt: 358,8Respekt: 358,8Respekt: 358,8

Witam!

W jaki spos?b mo?na pisz?c kod go optymalizowa?, aby nie powodowa? 'lag?w' podczas gry na serwerze?
Jakie? Wasze rady, wskaz?wki? - Za wszelk? pomoc wynagrodzenie. :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-31, 12:20


Ciastuuś

Truck soon...






Wiek: 26
Na forum: 3071 dni
Posty: 799
Nick w MP: Ciastuuś

Piwa: 4297

Respekt: 640
Respekt: 640Respekt: 640

Poczytaj tu,


Więcej informacji znajdziesz w Wikipedii MTA:

Scripting_Tips


Przyk?ad #1

Kawa?ek kodu, u?ycia getElementData oraz setElementData w spos?b dobry. W tym przyk?adzie w oto ten spos?b usuwamy dane z tabeli...

graczElementData = {} 
  
function graczDolacz() 
    graczElementData[source] = "" 
end 
addEventHandler('onPlayerJoin'rootgraczDolacz) 
  
function graczOpusc() 
    graczElementData[source] = nil 
end 
addEventHandler('onPlayerQuit'rootgraczOpusc)


Przyk?ad #2

Export funkcji z kodu do innego zasobu(tabela):

tabelaData = {} 
function przyklad () 
    return tabelaData 
end


Po czym dodajemy do meta.xml

<export function="przyklad" type="server"/>

Gdy ju? mamy zrobione te dwa proste kroki mo?emy pos?ugiwa? si? w innych zasobach takowym exportem w taki spos?b,

table exports.nazwaZasobu:przyklad()


Podpis
Truck soon...
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Kalizman
Wysłany: 2018-03-31, 12:24


PolskiSebek12

Programista






Wiek: 28
Na forum: 4347 dni
Posty: 343
Nick w MP: CrosRoad95

Piwa: 3883

Respekt: 288,8
Respekt: 288,8Respekt: 288,8Respekt: 288,8

Ostrzeżeń: 100%
1. U?ywanie zmiennych lokalnych.
2. Pisz strukturalnie.
3. Wyszukiwanie danych w mysqlu tylko po liczbach ( czasami jednak trzeba po tek?cie ). U?ywaj s?owa kluczowego `limit` aby zapobiec wyszukiwaniu zbyt du?ej ilo?ci danych.
4. U?ywaj relacji w bazie danych.
5. Tworzenie kontroler?w do danych fragment?w serwera ( np kontroler do frakcji, prac dorywczych ).
6. Podczas przetwarzania p?tli, u?yj `break` w momencie w kt?rym uznasz ?e dalsze jej wykonywanie jest nie potrzebne. Nie u?ywaj p?tli `pairs` bez powodu.
7. Nie u?ywaj setElementData i getElementData.
8. Je?li funkcja kt?r? trzeba wykona?, jest obci??aj?ca dla serwera, wykonaj j? asynchronicznie ( s? do tego odpowiedni biblioteki ). G??wnie wtedy gdy na serwerze s? gracze.
9. Przy zdarzeniach nie u?ywaj getRootElement(), znacznie zwi?ksza to obci??enie.
10. Nie r?b zbyt du?ej ilo?ci objekt?w, interiory, place manewrowe itd. wczytuj dopiero wtedy gdy s? potrzebne.

Podpis
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Kalizman
Wysłany: 2018-04-01, 10:00


Kalizman







Wiek: 23
Na forum: 3651 dni
Posty: 1394

Piwa: 4619

Respekt: 358,8
Respekt: 358,8Respekt: 358,8Respekt: 358,8Respekt: 358,8

Dzi?kuje za pomoc!

Postaw piwo autorowi tego posta
 

 
Tagi: optymalizacja :: kodu
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Optymalizacja kodu Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku