StUNt71 Posted November 7, 2011 Share Posted November 7, 2011 Надеюсь опытные скриптеры поделятся тайнами. Link to comment
Kenix Posted November 7, 2011 Share Posted November 7, 2011 Надеюсь опытные скриптеры поделятся тайнами. мб ресурс покажешь для оптимизации ? Link to comment
StUNt71 Posted November 7, 2011 Author Share Posted November 7, 2011 Любой способ. Оптимизация чего-нибудь. Например что лучше и в каких случаях pairs и ipairs? Link to comment
MX_Master Posted November 7, 2011 Share Posted November 7, 2011 Любой способ. Оптимизация чего-нибудь. Например что лучше и в каких случаях pairs и ipairs? У каждого своя область применения. Есть еще функция next из этой же тематики. Link to comment
Arisu Posted November 7, 2011 Share Posted November 7, 2011 Не делай циклы, пиши перебор вручную, сэкономишь на jump'ах Link to comment
StUNt71 Posted November 7, 2011 Author Share Posted November 7, 2011 Я же не только про цикл, кому не лень поделитесь своими знаниями. Link to comment
MX_Master Posted November 8, 2011 Share Posted November 8, 2011 Я же не только про цикл, кому не лень поделитесь своими знаниями. Конкретного предмета обсуждения нет, а писать целый доклад по всем аспектам оптимизации - никто не будет. Задай конкретный вопрос по какой-то конкретной конструкции. Link to comment
StUNt71 Posted November 8, 2011 Author Share Posted November 8, 2011 Использование addEvent, как и в каких случаях лучше будет? Link to comment
_Dark_ Posted November 8, 2011 Share Posted November 8, 2011 Использование addEvent, как и в каких случаях лучше будет? Эм... А есть аналоги этой функции? Можно ссылочку на wiki? Ну а вообще, эта функция нужна для This function allows you to register a custom event. регистрации собственных событий. Со всеми вытекающими последствиями. Link to comment
StUNt71 Posted November 8, 2011 Author Share Posted November 8, 2011 Это я знаю. Что такое addEvent, но примеры оптимизации. Хотя бы тогда ужь, примеры оптимизации циклов. Link to comment
MX_Master Posted November 8, 2011 Share Posted November 8, 2011 addEvent создает новое событие. Для него также мона обработчики добавлять. Но это событие выполняться не будет само собой, его нужно запускать ручками с помощью triggerEvent. Link to comment
StUNt71 Posted November 8, 2011 Author Share Posted November 8, 2011 Это я всё знал. А какие варианты есть её оптимизации? Например стоит ли передавать текстовое значение или лучше целочисленное, если оно позволительно. Link to comment
MX_Master Posted November 9, 2011 Share Posted November 9, 2011 Основы программирования же. Число или булевое значение (true/false) предпочтительней, стессна. Но только не в ущерб коду и логике. Link to comment
StUNt71 Posted November 15, 2011 Author Share Posted November 15, 2011 Сильно ли повлияет на производительность, если я добавлю 100 событий на стороне клиента и сервера и буду их вызывать, допустим при нажатии на определённую для них кнопку. Link to comment
_Dark_ Posted November 15, 2011 Share Posted November 15, 2011 Вспомни SAMP. Если там ничего не висло при огромном количестве пабликов и функций, то в MTA подавно. Хотя, это зависит от того, что будет в этих обработчиках. Link to comment
StUNt71 Posted November 15, 2011 Author Share Posted November 15, 2011 Ну клиент выдержит того что я ему буду часто посылать триггеры? Link to comment
Kenix Posted November 15, 2011 Share Posted November 15, 2011 Ну клиент выдержит того что я ему буду часто посылать триггеры? Смотря в каком объеме. ИМХО Лучше за раз посылать много чем много раз по немногу. З.Ы А ещё лучше по-возможности синхронизировать с клиентом через теже element даты и тогда тригеров событий делать не надо будет. Link to comment
StUNt71 Posted November 15, 2011 Author Share Posted November 15, 2011 Хотя бы те же самые true/false должен выдержать. Link to comment
Kernell Posted November 15, 2011 Share Posted November 15, 2011 Ну клиент выдержит того что я ему буду часто посылать триггеры? Я как-то издевался - вызывал с клиента на сервер триггер который был в onClientRender.. Подумайте только, сколько трафика улетит за секунду (кто-то писал на форуме, что максимальный размер передаваемых данных через тригеры - 64кб..) Link to comment
StUNt71 Posted November 15, 2011 Author Share Posted November 15, 2011 Нет, такое я не делаю. Link to comment
Kenix Posted November 16, 2011 Share Posted November 16, 2011 Я как-то издевался - вызывал с клиента на сервер триггер который был в onClientRender.. Подумайте только, сколько трафика улетит за секунду (кто-то писал на форуме, что максимальный размер передаваемых данных через тригеры - 64кб..) Оффтоп while true do triggerServerEvent("event",root) end Link to comment
StUNt71 Posted November 16, 2011 Author Share Posted November 16, 2011 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
StUNt71 Posted December 23, 2011 Author Share Posted December 23, 2011 Есть какой-то смысл делать функцию для обработчика события, если он не понадобится для чего-то другого? addEventHandler("event", root function (arg1, arg2, ...) end ) -- or function eventFunction(arg1, arg2, ...) end addEventHandler("event", root, eventFunction) Link to comment
MX_Master Posted December 24, 2011 Share Posted December 24, 2011 А решай сам, я просто расскажу, что и для чего. Первый вариант - создается функция, и ее ИД помещается в память. К ней напрямую в коде обратится будет нельзя, потому что ее ИД нигде в переменной не сохранен. И убрать ее из обработчиков (removeEventHadler) этого события - уже нельзя, по той же причине. Это вариант подойдет в качестве жесткой сцепки события и обработчика. Второй вариант - создается функция, и ее ИД помещается в переменную с указанным именем. У функций нет имен, только ИД. А то, что мы называем именем функции, это на самом деле имя переменной, где хранится ИД функции. С помощью этой переменной мы без проблем можем добавлять/удалять функцию в обработчиках не только этого события, но и других. Также мы можем вызывать эту функцию в любом месте в коде ресурса. Этот вариант подойдет в качестве мягкой и гибкой сцепки событий и обработчика. По производительности обе конструкции - идентичны. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now