Здравствуйте. Есть смысл удалять все-все PVar'ы при дисконнекте игрока? Знаю что это необязательно, но не освободит ли это удаление память, которую сервер выделил под них ранее?
P.S да и вообще, какие советы можете дать относительно памяти?
Здравствуйте. Есть смысл удалять все-все PVar'ы при дисконнекте игрока? Знаю что это необязательно, но не освободит ли это удаление память, которую сервер выделил под них ранее?
P.S да и вообще, какие советы можете дать относительно памяти?
Смысла удалять их при дисконнекте нет, так как они автоматически удаляются.
Подробнее о принципах работы pVar (именно по части памяти) можно прочесть тут.
Касаемо последнего вопроса: достаточно лишь просто выделять столько, сколько требуется для работы кода, и этого будет достаточно (подсчитывать нормально размер массивов). Но если ты жаждешь извращений и не самой рациональной траты времени, почитай об упакованных строках, например.
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Хочешь вопрос? :D
Привет
Вообщем на PVar я делаю всякую мини п*елку в виде работ и типа готовки еды в моде.
Возник вопрос например я создал 1 pvar с названием cooking и при определенном первом этапе действия системы ему присваивается значение 1, дальше на втором этапе этому же пвару присваивается значение 2, и на третьем этапе присваивают 3 значения ну типа
Это как то влияет на нагрузку? Или если создал 1 пвар с одним названием и используешь её. Нагрузка приходиться именно на эту выделеную память или как там. Вообщем думаю ты понял суть вопросаPHP код:
SetPVar(playerid, "cooking") 1) в начале готовки
SetPVar(playerid, "cooking") 2) когда еда готова
SetPVar(playerid, "cooking") 3) и когда берешь еду
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Зачем тогда вообще использовать PVar'ы? Если под один PV'ar выделяется 58 байт и при этом сразу же при коннекте игрока? Т.е если мне надо запомнить какое-то значение временно, к примеру из перехода игрока из одного диалога в другой, то какой смысл мне использовать PV'ar, если я могу записать это значение в обычную переменную (я рассматриваю только int и float) и "потратить" всего 4 байта? Получается, что профит мы получим только в случае если сервер будет пустовать? У нас есть 1000 слотов, если мы будем использовать обычную переменную, мы выделим 4000 байт под нужную нам переменную игроков, в случае с PV'ar мы выделим 0, но если на сервер зайдут 100 человек, тогда будет выделено 5800 байт? Не понимаю, разъясните, пожалуйста
Потому что эти 58*800 байт выделяются в любом случае: используешь ты pVar или нет.
Ты ещё начни использовать глобальный string вместо локального, ведь зачем выделять память в стэке (хотя она там выделена ещё при старте сервера и все твои "new" просто резервируют определённые участки памяти под свои нужды, а не выделяют новую память), когда можно создать глобальную переменную и делать всё то же самое, что и делает стэк, только в ручном режиме!
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Ashmy (24.09.2017)
Если простым языком, то выделение памяти под стэк вшито в саму абстрактную машину. Ты лишь можешь контролировать количество выделяемой памяти через
Собственно, эта память нужна для хранения временных данных (информации о обрабатываемом коллбэке и т.п.), а так же её можно использовать путём создания локальных переменных.PHP код:
#pragma dynamic количество
У меня уже давно есть в планах написать урок, где объяснить подобные элементарные и важные вещи максимально доступно, но пока всё руки не доходят.
Последний раз редактировалось DeimoS; 24.09.2017 в 03:56.
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)