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

Тема: Стэк

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

    Статус
    Оффлайн
    Регистрация
    24.12.2013
    Сообщений
    116
    Репутация:
    14 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    В pragma dynamic (у директивы "pragma" бывают разные опции. Например, "tabsize". Так что называть "pragma dynamic" как "прагма" - не совсем корректно, как по мне) указывается число ячеек, которые нужно выделить под стэк, а не значение в байтах. Стандартно под стэк выделено 4096 ячеек (16384 байт). Чтоб узнать сколько байт ты выделишь, перемножь указанное число ячеек на 4 и получишь ответ
    Я то думал, откуда берутся эти значения непонятные на выходе потом.

    - - - Добавлено - - -

    Цитата Сообщение от Profyan Посмотреть сообщение
    C помощью нее можно и уменьшать)
    Можно же увеличить со знаком минус, один хер)

  2. #12
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    А вот допустим есть в моде переменные или были, что удалял что остались размер стэка не пошевелился,
    что есть ещё какие то переменные которые не оптимизируются в стэке или как то так.

    - - - Добавлено - - -

    Есть же инфа после компиляции при переполненом стэке, вот там как были цифры так и остались на своём месте,
    разве что total и data/code size содрогнулись
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    23.12.2013
    Адрес
    Омск
    Сообщений
    196
    Репутация:
    22 ±
    Я как-то задавал вопрос об этом. Если память не изменяет,то выводится информация о затраченной памяти не всего мода,а определенного блока,в котором размер затраченного места в стеке самый большой.



    Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку
    Мартин Фаулер


    Skype
    profan99
    VK
    click




  4. Пользователь сказал cпасибо:
    vovandolg (03.04.2016)
  5. #14
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Profyan Посмотреть сообщение
    Я как-то задавал вопрос об этом. Если память не изменяет,то выводится информация о затраченной памяти не всего мода,а определенного блока,в котором размер затраченного места в стеке самый большой.
    Именно. Размер стэка подсчитывается так же, как рассчитывают размер массива для хранения строки (ну если это делать правильно). То есть, вот тут:
    PHP код:
    new string[...];
    format(stringsizeof(string), "Привет");//6 символов
    SendClientMessageToAll(playerid, -1string);
    format(stringsizeof(string), "Ты зашёл ко мне на сервер");//25 символов
    SendClientMessageToAll(playerid, -1string);
    format(stringsizeof(string), "Длина этого сообщения - 35 символов");//35 символов
    SendClientMessageToAll(playerid, -1string); 
    для массива "string" ты должен выделить всего 36 ячеек (35 + 1 на нуль-символ), а не 67. Ведь сообщения форматируются отдельно друг от друга и для хранения всех сообщений достаточно выделить столько ячеек, сколько символов в самой большой строке.
    Так же и со стеком. Компилятор ищет коллбэк, который сжирает больше всего стэка, и показывает именно значения для него, а не суммирует затраты каждого коллбэка, ибо, после выполнения одного коллбэка, память в стэке освобождается и заполнение информации о новом коллбэке происходит в совершенно чистый стэк (то бишь, так же, как и в примере с строками).
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  6. 2 пользователя(ей) сказали cпасибо:
    Prolific (04.04.2016) vovandolg (03.04.2016)
  7. #15
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Так же и со стеком. Компилятор ищет коллбэк, который сжирает больше всего стэка, и показывает именно значения для него, а не суммирует затраты каждого коллбэка, ибо, после выполнения одного коллбэка, память в стэке освобождается и заполнение информации о новом коллбэке происходит в совершенно чистый стэк (то бишь, так же, как и в примере с строками).
    Прям в душу ударило, этот ответ ждал, не знал как подойти к вопросу
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

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

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

    Steve Pavlina

  9. #17
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Кстате как можно подсчитать какой калбек жрёт так много, ибо старые дедовские способы вручную искать долго уйдут
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Можно попробовать по такому принципу
    PHP код:
    public OnGameModeInit() 

        new 
    heap heapspace(); 
        
    printf("OnGameModeInit() STK %d"heap); 

        
    // тут остальной код 

        
    printf("OnGameModeInit() STK %d (%d LOSS)"heapspace(), (heap heapspace())); 
        return 
    1

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  11. #19
    Аватар для Profyan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2013
    Адрес
    Омск
    Сообщений
    196
    Репутация:
    22 ±
    Крик души:Почему бы не увеличить стек и не париться?



    Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку
    Мартин Фаулер


    Skype
    profan99
    VK
    click




  12. #20
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Дак это же влияет на озу клиента?
    Если да вот я и ищю как можно более оптимизации даже для слабых пк,
    так же интересно когда всем игрокам существует доступ к серверу ...
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

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

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

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

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

Ваши права

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