AMX MOD X
Четверг, 28.03.2024, 18:51:40



Приветствую Вас Гость | RSS
[ Главная ] [ Вопрос что лучше: 2 отдельных плагина или в одном. - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Вопрос что лучше: 2 отдельных плагина или в одном. ((теория))
Вопрос что лучше: 2 отдельных плагина или в одном.
tavotДата: Среда, 25.11.2009, 21:39:43 | Сообщение # 1
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Вот тут сидел и думал над задачкой:
Дано: написанные мною( коненчо громко сказанно, но без подробностей) два плагина оба работают с базой данных.
Вопрос 1:
Как лучше - каждый по отдельности или совместить их в один?
Меня давно мучает этот вопрос, но ответа видимо для себя так и не нашел.
Вопрос 2:
Как поределить на сколько сильно плагин нагружает систему или кто как это определяет?
 
NipДата: Среда, 25.11.2009, 22:32:46 | Сообщение # 2
Лейтенант
Группа: Пользователи
Сообщений: 51
Репутация: -2
Статус: Не в сети
Quote (tavot)

Как поределить на сколько сильно плагин нагружает систему или кто как это определяет?

плагин нагружает систему зависемо от таго солько раз он обращаеться к серверу, примерно в соотноешение поставим плагин ежущего танка с моделью который постоянно в зоне действия и видимости \, он нагрузет будь здоров, а плагин открывающий окошко мотд нагрузет сервер сервер если все 32 человека одновременно напишут его.

А по разбитию плагинов в или в 2 это уже от тебя зависит, всеровно что тысдеделаеш 2 разных плагина они будут 1+1=2 или ты сделаеш плагин равен 2=2 разници не вижу...


 
tavotДата: Четверг, 26.11.2009, 00:06:48 | Сообщение # 3
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Nip,
На счет 1+1=2 я как раз и не уверен
1 каждый плагни регистрируется
2 каждый пдагин начинает улавливать одни и теже события и исполняться единовременно ( а в одном плагине, это было бы чуть последовательнее...

А вот еще чтот интересно - разные моеди игроков нагружаюют сервер или нет?

 
NipДата: Четверг, 26.11.2009, 08:32:16 | Сообщение # 4
Лейтенант
Группа: Пользователи
Сообщений: 51
Репутация: -2
Статус: Не в сети
Quote (tavot)
А вот еще чтот интересно - разные моеди игроков нагружаюют сервер или нет?

стондарт модели то врятли, ну если только у них не яркие разноцветные цвета, а то у тех у каво слабые компы фпс будет больше.


 
[NegativkO]Дата: Четверг, 26.11.2009, 09:19:42 | Сообщение # 5
Полковник
Группа: Пользователи
Сообщений: 243
Репутация: 3
Статус: Не в сети
Quote (Nip)
а то у тех у каво слабые компы фпс будет больше

Полюбому ^_^

 
tavotДата: Четверг, 26.11.2009, 12:00:15 | Сообщение # 6
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Nip,
Компы юзверей меня в данном вопросе не интересуют - сейчас речь о сервере.
 
DaTaДата: Четверг, 26.11.2009, 17:18:17 | Сообщение # 7
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Попытаюсь примерно отсортировать, по тормознутости, сколько вспомню:
1)Чтение из файла во время игры.
2)Форварды вроде FrameStart, PreThink, PostThink а так же Think для ентитей.
3)Очень много set_task
4)Массовое действие над игроками, особенно в комбо с другими пунктами.
5)Запись в файл. Если буфер не успевает сбрасываться, то идет задержка.
Возможно еще сокеты =)

И если плагин использует много всяких событий и часто обрабатывает их (всякие там варкрафт моды и т.д.) то это тоже чревато лагами.

Если особо тяжелые участки кода выполняются во время не игровых событий(начало раунда, загрузка сервера/карты), то это и не страшно.

Еще частая отправка hud сообщений лагает клиент, кажется что сервер лагает =)

 
tavotДата: Пятница, 27.11.2009, 03:12:40 | Сообщение # 8
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
DaTa,
Спасибо, полезно знать!

Вот про чтение файла я сам догадывался...
А обращени к sql базе наверное тоже дает такой эффект или по меньше?

Просто сейчас пишу статистику к предатор серверу, не хочется переделывать когда все будет доделанно (
Хотя на данный момент там запросы:
При putinserver проверяется есть ли игрок в базе ( думаю удалю...) если нет - то вносим.
При командах /rank /top15
При выходе игрока с сервера запрос ( внос данных в базу)
При plugin_end - еще 2 запроса в базу.

Дорабатывал тут зомби банк.
Там при заходе игрока берутся данные и держатся в массивах до его выхода...
получается всего 2 запроса, но там и данных с гулькин нос...

Сообщение отредактировал tavot - Пятница, 27.11.2009, 03:14:33
 
DaTaДата: Суббота, 05.12.2009, 01:13:41 | Сообщение # 9
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Новая("") версия модуля мускула делает запрос во второй нити процесса, результат же возвращается в callback, так что на игру особо не влияет =)
 
tavotДата: Суббота, 05.12.2009, 01:28:21 | Сообщение # 10
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
DaTa,
Спасибо )
Из всего понял только на игру особо не влияет, но на свой вопрос это достаточный ответ )

во второй нити процесса, результат же возвращается в callback
тут ни xutj(чего) не понял - так как на чего об этом не знаю )
пунтосвитчер балуется )

Сообщение отредактировал tavot - Суббота, 05.12.2009, 01:29:07
 
Agronom[SLK]Дата: Суббота, 05.12.2009, 23:53:35 | Сообщение # 11
Полковник
Группа: Пользователи
Сообщений: 222
Репутация: 4
Статус: Не в сети
А я вот тож думаю, поставить мне <одну розетку и на неё тройник> или <одну двойную> ))

А вообще есть лимит на кол-во плагинов (255 :D )) ? А то во многих "модульных" играх обычно именно такое ограничение.


МНЛТиП - Метод Нубского Логического Тыка и Подстановки
 
DaTaДата: Вторник, 15.12.2009, 00:37:51 | Сообщение # 12
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Нету, там каждый новый плагин динамически занимает память.
Quote
CPluginMngr::CPlugin* CPluginMngr::loadPlugin(const char* path, const char* name, char* error, int debug)
{
CPlugin** a = &head;

while (*a)
a = &(*a)->next;

*a = new CPlugin(pCounter++, path, name, error, debug);

return (*a);
}

Я бы писал как можно раздельнее плагины, тогда хоть можно разобрать свой код и найти ошибки. Но вот если нужна связь между разными частями плагина, то я предпочитаю так и оставлять их в одном, потому что в использовании всяких фокусов, вроде глобальных таймеров и нативов можно запутаться, особенно когда редактируешь один из них.

Добавлено (15.12.2009, 00:37:51)
---------------------------------------------
Ах да, вспомнил еще
Никогда не делайте в плагине функций обработки текста, старайтесь по максимуму заменить всевозможные функции по обработке текста на библиотечные.
Дело в том, что виртуальная машина оп-кодами каждую букву будет в 3-5 раз дольше обрабатываться, чем задача ос.

 
tavotДата: Вторник, 15.12.2009, 01:08:07 | Сообщение # 13
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
DaTa,
а можете привести конкретный пример - чего не делать и чем заменить?
 
DaTaДата: Вторник, 15.12.2009, 01:10:27 | Сообщение # 14
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Не делать обработку строк самостоятельно :D
 
tavotДата: Вторник, 15.12.2009, 01:52:57 | Сообщение # 15
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
replace_all - так?
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Вопрос что лучше: 2 отдельных плагина или в одном. ((теория))
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

AMX Mod X Russian Community © 2006-2024