Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    507
    Репутация:
    19 ±

    bool или пвар?

    Всем привет. Если где то используется 1/2 (например GPS), что лучше использовать bool или PVar?

  2. #2
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,467
    Репутация:
    265 ±
    bool - на самом деле, в Pawn нет bool (bool - должно занимать 1 байт в памяти), на самом деле занимает 4 байта.
    Выгоды от работы с bool практически нет.
    PVar - прототип динамической памяти, выделял, поработал, удалил. Но, у PVar есть ограничение 800 (Если не ошибаюсь) PVars на одного игрока

    Преимущества использования PVar'ов над массивами размером в MAX_PLAYERS:
    1) PVar'ы доступны из всех загруженных гейммодов и скриптов, упрощая модуляризация вашего кода.
    2) PVar'ы автоматически удаляются, когда игрок выходит с сервера, что означает вам не нужно вручную сбрасывать переменные для следующего подключившигося игрока.
    3) Больше нет нужды в сложных енумах/playerInfo-структурах.
    4) Экономит память, не расходуя ее на элементы под playerid'ы, которые, возможно, вообще никогда не будут использованы.
    5) Вы можете легко перечислять и выводить/хранить список PVar'ов. Это упрощает как отладку, так и хранение информации об игроках.
    6) Если даже PVar не был создан, при запросе его значения возвращается 0 по умолчанию.
    7) PVar'ы могут хранить очень большие строки используя динамически выделяемую память.

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    768 ±
    Хочу заметить: Если вы присвоите какому-либо pvar'у значение 0, то этот pvar не удалится.

    На самом деле создание pvar'а ( SetPVarInt ) очень ресурсоёмкая операция.

    Если вы уверены, что в дальнейшем не будете использовать данный pvar, то обязательно удаляйте его с помощью DeletePVar.

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

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    507
    Репутация:
    19 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Хочу заметить: Если вы присвоите какому-либо pvar'у значение 0, то этот pvar не удалится.

    На самом деле создание pvar'а ( SetPVarInt ) очень ресурсоёмкая операция.

    Если вы уверены, что в дальнейшем не будете использовать данный pvar, то обязательно удаляйте его с помощью DeletePVar.
    Спасибо). Если мне пвар больше не нужен, я не ровняю его нулю, а удаляю (DeletePVar).

 

 

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

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

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

Ваши права

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