Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 18

Тема: Плагины

  1. #1
    Аватар для Paradox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.06.2015
    Адрес
    Запорожье
    Сообщений
    117
    Репутация:
    1 ±

    Плагины

    Доброе утро.
    Возник вот такой вот вопрос, какие плагины стоит поставить сразу?

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Те, которые нужны для работы мода? Сами по себе плагины, в большинстве своём, ничего не дают, если не использовать их функционал в коде.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для Paradox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.06.2015
    Адрес
    Запорожье
    Сообщений
    117
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Те, которые нужны для работы мода? Сами по себе плагины, в большинстве своём, ничего не дают, если не использовать их функционал в коде.
    Я в том плане, вот допустим тот же Fix Timer, что-то вроде фиксов, может каких нибудь полезных функций.

  4. #4
    Аватар для Jake_Bat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.03.2017
    Сообщений
    17
    Репутация:
    0 ±
    Да, вопрос интересный, что стоит поставить необходимого, для нормальной работы сервера?

  5. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Даже Timer Fix - плагин сугубо индивидуальный.
    Во-первых, по-настоящему точные таймеры на деле нужны лишь в малом проценте случаев, которые бы оправдали все те затраты на реализацию точности в этих самых таймерах.
    Во-вторых, даже проблемы таймеров актуальны далеко не для всех (собственно, достаточно погуглить упоминание этих проблем, чтоб убедиться, что очень мало людей сталкивались с ними).
    И если плагин не будет в полную силу использоваться, он лишь в пустую будет жрать оперативу и дополнительно забивать поток, который и без того не резиновый. Конечно, один плагин ничего не забьёт и не создаст проблем. Но если так и дальше подключать плагины просто для того, чтоб они были, то часть ресурсов, которые можно было бы потратить на что-то полезное, вы будете тратить впустую. Так что я не советовал бы его ставить, если вы не нуждаетесь в точных таймерах (а если вы не понимаете в какие именно моменты они нужны, то они вам пока не нужны) или если вы не столкнулись с проблемами обычных таймеров.

    Я бы лишь советовал держать в памяти существование инклуда "fixes", заранее изучив всё, что он исправляет. Вот его подключить можно. Каких-то других плагинов/инклудов посоветовать не могу.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. #6
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Во-первых, по-настоящему точные таймеры на деле нужны лишь в малом проценте случаев, которые бы оправдали все те затраты на реализацию точности в этих самых таймерах.
    А с чего ты взял, что там есть какие-то дополнительные "затраты"? Насколько знаю, в плагине не используются какие-то сложные или высокоточные расчёты. Просто принцип подсчёта времени следующего срабатывания не такой ущербный, как в SA-MP.

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Во-вторых, даже проблемы таймеров актуальны далеко не для всех (собственно, достаточно погуглить упоминание этих проблем, чтоб убедиться, что очень мало людей сталкивались с ними).
    Частота упоминаний проблемы - отнюдь не показатель. Вот ты сам веришь, что кто-то хотя бы подумает про таймеры, возникни у них проблема с исчерпанием памяти? Я как-то в этом очень сомневаюсь.

    Цитата Сообщение от DeimoS Посмотреть сообщение
    И если плагин не будет в полную силу использоваться, он лишь в пустую будет жрать оперативу и дополнительно забивать поток, который и без того не резиновый.
    По поводу "забивания потоков" - см. ответ на 1-ю цитату. Касаемо оперативы - плагин не сильно сложный и едва ли его можно назвать требовательным. Мало того, со стандартных таймеров может утечь куда больше памяти (не говоря уже о том, что это потребует проводить время от времени рестарт сервера, дабы перестраховаться от исчерпания памяти).

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Я бы лишь советовал держать в памяти существование инклуда "fixes", заранее изучив всё, что он исправляет. Вот его подключить можно.
    Так TimerFix к той же категории фиксов и относится (даже API не какой-то свой, а полностью совместимый со стандартным - подключил и забыл), разве нет?
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  7. Пользователь сказал cпасибо:
    Paradox (11.04.2019)
  8. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    А с чего ты взял, что там есть какие-то дополнительные "затраты"? Насколько знаю, в плагине не используются какие-то сложные или высокоточные расчёты. Просто принцип подсчёта времени следующего срабатывания не такой ущербный, как в SA-MP.
    Так я и не говорил про сложные расчёты. Речь о том, что плагин в любом случае будет жрать ресурсы, а не о том, что он будет жрать их неоправданно много. Как по мне, странно растрачивать какие-либо ресурсы на то, что никакой фактической пользы приносить не будет. А уж если однажды появится нужда в точных таймерах или баги сампа дадут о себе знать - подключить плагин не составит труда.


    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Частота упоминаний проблемы - отнюдь не показатель. Вот ты сам веришь, что кто-то хотя бы подумает про таймеры, возникни у них проблема с исчерпанием памяти? Я как-то в этом очень сомневаюсь.
    Да даже если загуглить темы с крашами сервера, всё равно упоминаний проблем с таймерами практически не найдёшь (если вообще найдёшь). Не думаешь же ты, что те, кто сталкивался с крашами из-за таймеров, просто не могли определить причину и забрасывали разработку поголовно. Уж за 10+ лет эта проблема явно всплыла бы, если бы была такой актуальной. Это явно не баг последних версий SA-MP.
    Да и я опираюсь больше на свой опыт работы на разные проекты + на опыт помощи людям с решением разнообразных проблем. И проблемы с таймерами встречал только в синтетических тестах, специально создавая кучу таймеров и пытаясь посмотреть как они себя поведут при исчерпании лимита ID таймеров. Сейчас, например, уже второй год работаю над модом проекта с онлайном 300+, у которых мод, мягко говоря, не самый хороший, но даже в том случае нет никаких проблем с таймерами, хоть используются они там во многих системах. И в прошлом таких проектов было не меньше.


    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    По поводу "забивания потоков" - см. ответ на 1-ю цитату. Касаемо оперативы - плагин не сильно сложный и едва ли его можно назвать требовательным. Мало того, со стандартных таймеров может утечь куда больше памяти (не говоря уже о том, что это потребует проводить время от времени рестарт сервера, дабы перестраховаться от исчерпания памяти).


    Так TimerFix к той же категории фиксов и относится (даже API не какой-то свой, а полностью совместимый со стандартным - подключил и забыл), разве нет?
    Собственно, выше я ответил. Имхо, но в данном случае это попытка исправить ещё не существующую проблему. Как выше писал, с учётом того, что для применения фиксов достаточно подключить плагин, не вижу какого-либо смысла держать его без явных на то причин.
    Последний раз редактировалось DeimoS; 11.04.2019 в 21:26.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. Пользователь сказал cпасибо:
    Paradox (11.04.2019)
  10. #8
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Так я и не говорил про сложные расчёты. Речь о том, что плагин в любом случае будет жрать ресурсы, а не о том, что он будет жрать их неоправданно много. Как по мне, странно растрачивать какие-либо ресурсы на то, что никакой фактической пользы приносить не будет.
    В плане ресурсов CPU - плагин тратит на обработку таймеров те такты, которые не тратит сервер на обновление стандартных таймеров. Логично же, нет?
    Про потребление оперативы, повторюсь, плагин не сильно сложен. Что может занимать много места - так это стандартная библиотека C/C++, но она используется и другими плагинами, т.е. по идее должна быть для них общей.
    Вообще слово "жрать" - это точно не про TimerFix. К примеру, в тех же стандартных таймерах под название вызываемой функции отводится массив на 255 символов, в то время как достаточно всего 32 - вот к такого вида расточительству слово "жрать" применимо.


    Цитата Сообщение от DeimoS Посмотреть сообщение
    Да даже если загуглить темы с крашами сервера, всё равно упоминаний проблем с таймерами практически не найдёшь (если вообще найдёшь).
    Опять же, как люди вообще должны понять, что это связано именно с таймерами? Речь не конкретно о тебе, а о других скриптерах, которые не читают Pro-Pawn Wiki и едва ли знают о наличии утечек в таймерах :)
    Краш возникает при длительной работе сервера при абсолютно рандомных условиях. Единтственная мизерная зацепка, которая может помочь - это если в логах окажется адрес SetTimer/SetTimerEx, но это ещё если у сервера ещё хватит памяти под составление лога. Да и сам по себе адрес SetTimer говорит только о том, что в этой функции провалилась аллокация, но не о том, что это источник утечки памяти - это просто совпадение, которое может натолкнуть на мысль (если скриптер в курсе про утечки в таймерах - иначе и это может показаться случайностью, не связанной с крашем напрямую).
    ИМХО, владелец сервера, скорее, просто забьёт на эту проблему (возможно, ассоциировав её с каким-то сложным/требовательным к памяти плагином) и по возможности сделает автоматический перезапуск сервера при падении, если такового ещё нет.


    Цитата Сообщение от DeimoS Посмотреть сообщение
    Собственно, выше я ответил. Имхо, но в данном случае это попытка исправить ещё не существующую проблему.
    В разработке неточность в работе чего-либо и уж тем более потенциал для краша обычно считаются проблемами, которые стоит если не исправлять, то хотя бы искать обходные решения и хоть как-то подстраховываться. Но то такое. Не впервой приходится замечать, что в сообществе SA-MP любая "несмертельная" проблема воспринимается как норма.
    В любом случае, если сама по себе неточность таймеров для тебя по умолчанию не проблема - это ещё не значит, что это не проблема для других, кто читает эту тему. Собственно, из-за этого я и начал сие обсуждение.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  11. #9
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Ну если сама по себе неточность таймеров для тебя по умолчанию не проблема - это ещё не значит, что это не проблема для других, кто читает эту тему. Собственно, из-за этого я и начал сие обсуждение.
    Таки я ещё во втором своём сообщении написал, что Timer Fix есть смысл ставить только если нужны точные таймеры или если баги сампа, связанные с таймерами, дали о себе знать :) Я не отрицаю, что кому-то это может быть полезным. Я сам использовал этот плагин для реализации нескольких заказов. Но в теме-то речь о списке обязательных для установки плагинов. И мой основной посыл в том, что если нет конкретной востребованности в функционале плагина, то и особого смысла в его установке нет.


    Касаемо твоего обсуждения по поводу потребления ресурсов. Опять же, я нигде не утверждал, что плагин потребляет слишком много ресурсов. Основная мысль в моих сообщениях - зачем выделять ресурсы на то, от чего профита никакого нет?


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

    Если бы проблема действительно была актуальна, то мы бы, с учётом количества серверов и постоянного притока новых скриптеров, хоть раз в месяц видели на форумах людей, сообщающих о непонятных крашах сервера. Но таких людей даже за год не особо-то и появляется, хотя люди, как видно, и с более простыми проблемами предпочитают бежать на форум, даже если о том, как исправить ошибку, написано в самом сообщении ошибки. Поэтому глупо, спустя 13 лет существования SA-MP, вдруг бить тревогу о том, что таймеры способны создать утечку памяти при определённых обстоятельствах, делая из этого какую-то невероятно актуальную проблему, которая обязательно коснётся каждого. Время уже показало, что не коснётся. Собственно, сам помнишь как мы с тобой узнали об этой проблеме.

    Да и ты говоришь про тех, кто "не читает Pro-Pawn Wiki и едва ли знает о наличии утечек в таймерах". Эти люди вряд ли и о существовании Timer Fix знают :) И даже если мы сейчас каким-то образом заставим всех посетителей данного форума поставить себе данный плагин, вряд ли те, о ком ты говоришь, узнают про утечки или про плагин.


    Ну и, опять же, подытожу то, что я не призываю всех отказываться от данного плагина и не говорю, что он потребляет слишком много ресурсов. Мой основной посыл в том, что точные таймеры нужны далеко не всегда, а проблемы стандартных таймеров довольно специфичны (а я напомню, что речь в данной теме о том, какие плагины нужно обязательно ставить). И ставить плагин стоит только тогда, когда вам нужно реализовать систему, которая так или иначе будет упираться в проблемы стандартных таймеров (неточность/утечки памяти). В противном случае от того, что вы поставите плагин на сервер, никакого профита вы не получите, но определённую часть ресурсов плагин всё же сожрёт. Да, будет затрачено несущественное количество ресурсов, но эти ресурсы всё равно будут потрачены впустую и могли бы быть потрачены на что-то более полезное. Такой подход безосновательной растраты ресурсов рано или поздно приведёт к тому, что все эти незначительные растраты в совокупности станут очень заметны... Но это уже лирика.
    В общем, я лишь советую решать проблемы по мере их поступления, а не бороться с ветряными мельницами.
    Последний раз редактировалось DeimoS; 11.04.2019 в 23:25.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  12. #10
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Но в теме-то речь о списке обязательных для установки плагинов.
    Странно, я думал, что спрашивали о плагинах и фиксах, "необходимых для нормальной работы" и о TimerFix в частности.
    Цитата Сообщение от Jake_Bat Посмотреть сообщение
    Да, вопрос интересный, что стоит поставить необходимого, для нормальной работы сервера?
    Цитата Сообщение от Paradox Посмотреть сообщение
    Я в том плане, вот допустим тот же Fix Timer, что-то вроде фиксов, может каких нибудь полезных функций.
    И, к слову, если стандартные таймеры срабатывают не через то время, что указал пользователь, а через то, которое вздумается серверу - ИМХО, сложно назвать это "нормальной работой", особенно когда за каждые 60 секунд накапливается ~10(!) секунд погрешности.
      Открыть/закрыть

    1. #include <a_samp>
    2.  
    3. const TIMER_INTERVAL = 1000;
    4. new next_time;
    5.  
    6. public TimerFunc();
    7. public TimerFunc()
    8. {
    9. new t = GetTickCount();
    10. next_time += TIMER_INTERVAL;
    11. printf("Time: %12d\tExpected: %12d\tDifference: %d", t, next_time, t - next_time);
    12. }
    13.  
    14.  
    15. main()
    16. {
    17. next_time = GetTickCount();
    18. SetTimer("TimerFunc", TIMER_INTERVAL, 1);
    19. }



    Нет, ну может быть по меркам SA-MP это нормально (может быть даже слишком хорошо) на фоне десятков других багов, но с точки зрения здравого смысла - едва ли.
    Справедливости ради, в TimerFix тоже аккумулируется погрешность, но для плагина она гораздо меньше (у меня получилось всего ~200 мс на минуту), и полностью отсутствуют отклонение только в fixes2 (вернее, оно варьируется в пределах ~20 мс, но не накапливается при каждом срабатывании таймера).
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •