Jump to content

Оптимизация ресурса


Recommended Posts

Любой способ. Оптимизация чего-нибудь. Например что лучше и в каких случаях pairs и ipairs?

У каждого своя область применения. Есть еще функция next из этой же тематики.

Link to comment
Я же не только про цикл, кому не лень поделитесь своими знаниями.

Конкретного предмета обсуждения нет, а писать целый доклад по всем аспектам оптимизации - никто не будет. Задай конкретный вопрос по какой-то конкретной конструкции.

Link to comment
Использование addEvent, как и в каких случаях лучше будет?

Эм... А есть аналоги этой функции? Можно ссылочку на wiki?

Ну а вообще, эта функция нужна для

This function allows you to register a custom event.

регистрации собственных событий. Со всеми вытекающими последствиями.

Link to comment

Это я всё знал. А какие варианты есть её оптимизации? Например стоит ли передавать текстовое значение или лучше целочисленное, если оно позволительно.

Link to comment

Сильно ли повлияет на производительность, если я добавлю 100 событий на стороне клиента и сервера и буду их вызывать, допустим при нажатии на определённую для них кнопку.

Link to comment

Вспомни SAMP. Если там ничего не висло при огромном количестве пабликов и функций, то в MTA подавно. Хотя, это зависит от того, что будет в этих обработчиках.

Link to comment
Ну клиент выдержит того что я ему буду часто посылать триггеры?

Смотря в каком объеме.

ИМХО Лучше за раз посылать много чем много раз по немногу.

З.Ы А ещё лучше по-возможности синхронизировать с клиентом через теже element даты и тогда тригеров событий делать не надо будет.

Link to comment
Ну клиент выдержит того что я ему буду часто посылать триггеры?

Я как-то издевался - вызывал с клиента на сервер триггер который был в onClientRender.. Подумайте только, сколько трафика улетит за секунду (кто-то писал на форуме, что максимальный размер передаваемых данных через тригеры - 64кб..)

Link to comment
Я как-то издевался - вызывал с клиента на сервер триггер который был в onClientRender.. Подумайте только, сколько трафика улетит за секунду (кто-то писал на форуме, что максимальный размер передаваемых данных через тригеры - 64кб..)

Оффтоп

while true do  
     triggerServerEvent("event",root)  
end 

:lol:

Link to comment
Client: 
addEvent("eventClient", true) 
  
addEventHandler("eventClient", root, 
    function () 
        triggerServerEvent("eventServer", root) 
    end 
) 
  
Server: 
addEvent("eventServer", true) 
  
addEventHandler("eventServer", root, 
    function () 
        triggerClientEvent(source, "eventClient", root) 
    end 
) 

^_^

Link to comment
  • 1 month later...

Есть какой-то смысл делать функцию для обработчика события, если он не понадобится для чего-то другого?

  
addEventHandler("event", root 
    function (arg1, arg2, ...) 
    end 
) 
  
-- or 
  
function eventFunction(arg1, arg2, ...) 
end 
  
addEventHandler("event", root, eventFunction) 
  
  
  

Link to comment

А решай сам, я просто расскажу, что и для чего.

Первый вариант - создается функция, и ее ИД помещается в память. К ней напрямую в коде обратится будет нельзя, потому что ее ИД нигде в переменной не сохранен. И убрать ее из обработчиков (removeEventHadler) этого события - уже нельзя, по той же причине. Это вариант подойдет в качестве жесткой сцепки события и обработчика.

Второй вариант - создается функция, и ее ИД помещается в переменную с указанным именем. У функций нет имен, только ИД. А то, что мы называем именем функции, это на самом деле имя переменной, где хранится ИД функции. С помощью этой переменной мы без проблем можем добавлять/удалять функцию в обработчиках не только этого события, но и других. Также мы можем вызывать эту функцию в любом месте в коде ресурса. Этот вариант подойдет в качестве мягкой и гибкой сцепки событий и обработчика.

По производительности обе конструкции - идентичны.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...