Question

f0295655
Шифоньер
#define ShowPlayerInventory(%0)         ShowPlayerDialog(%0, 5300, DIALOG_STYLE_LIST, "тут типа текст", "Выбрать", "Отмена")

или

stock ShowPlayerHouseMenu(playerid)
{
    #define ShowPlayerInventory(%0)         ShowPlayerDialog(%0, 5300, DIALOG_STYLE_LIST, "тут типа текст", "Выбрать", "Отмена")
    return 1;
}

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

Share this post


Link to post

4 answers to this question

  • 0
DEST
Maintainer

По оптимизации примерно без разницы, если дело именно выиграть спор, то вариант с #define отработает за N ед. времени, вариант с stock отработает за M ед. времени.

В результате M должен быть больше чем N (при прочих равных), т.е. номинально вариант со stock медленнее, на практике без разницы. 

Share this post


Link to post
  • 0
Cawfee
Великий Гуру

@f0295655, может быть Вы имели в виду это?
 

stock ShowPlayerInventory(playerid)
{
    ShowPlayerDialog(playerid, 5300, DIALOG_STYLE_LIST, "тут типа текст", "Выбрать", "Отмена")
    return 1;
}

 

Share this post


Link to post
  • 0
Cawfee
Великий Гуру

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

  1. Не будет никаких проблем, связанных с тем, что вы используете макрос до того, как объявили его.
  2. При использовании макроса строка "тут типа текст" каждый раз будет подставляться препроцессором в нужные участки кода, а затем помещаться в память (то есть в памяти обнаружится большое количество одинаковых строк). При использовании функции строка лишь единожды попадет в память.
  3. Вызов функции действительно отнимает некоторые доли секунды, но эти доли настолько малы и ничтожны... Вы можете измерить время самостоятельно и убедиться, что время вызова даже миллиона таких функций ничтожно мало.
  4. В функции вы получаете возможность управлять передаваемыми данными (добавлять при необходимости проверки) и результирующими данными (возвращать нужные вам значения, которыми затем оперировать).

Есть диалоговый процессор mdialog. В нем реализована как раз эта идея. Присмотритесь, возможно, Вам это понравится.

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • ВасилийСталин
      By ВасилийСталин
      50% СКИДКА РОВНО 3 ДНЯ, ДО: 25.09.2025. 12:00 ПО МСК
       
       
      Здравствуйте уважаемые форумчане!
      Выкладываю на продажу мод написанный с нуля Fox rp. Мод имеет много красивого 3д маппинга, систем по типу квестов, динамического текста над актерами во время общения с ними, система загрязнения транспорта (имеется маппинг автомойки) мод подходит под основу и нуждается в доработках.
      В комплекте с модом вы получаете:
      1. Игровую сборку в которую входит:
      1.1. AVF плагин
      1.2. Приватные модели авто и скинов
      1.3. Под все транспортные средства были реалистично изменены настройки скорости и физика авто
      1.4. Изменены звуки
      !!! Чтобы скачать сборку нужно открыть txt файл в папке с модом там будет ссылка на сборку
      2. Игровой мод:
      2.1. Мод
      2.2. cef. Уже подключен на веб хостинг при необходимости можно заменить
      Мод будет дорабатываться и опубликовываться на этом форуме, ценник будет выше но если купите мод то доплачивать не придется, сможете сразу скачать новую версию.
       
      Связь: vk.com/nastelectric
       
    • ВасилийСталин
      By ВасилийСталин


      Скачать файл Fox rp | Уникальный мод с 0 под открытие | СКИДКА 50%
      50% СКИДКА РОВНО 3 ДНЯ, ДО: 25.09.2025. 12:00 ПО МСК
       
       
      Здравствуйте уважаемые форумчане!
      Выкладываю на продажу мод написанный с нуля Fox rp. Мод имеет много красивого 3д маппинга, систем по типу квестов, динамического текста над актерами во время общения с ними, система загрязнения транспорта (имеется маппинг автомойки) мод подходит под основу и нуждается в доработках.
      В комплекте с модом вы получаете:
      1. Игровую сборку в которую входит:
      1.1. AVF плагин
      1.2. Приватные модели авто и скинов
      1.3. Под все транспортные средства были реалистично изменены настройки скорости и физика авто
      1.4. Изменены звуки
      !!! Чтобы скачать сборку нужно открыть txt файл в папке с модом там будет ссылка на сборку
      2. Игровой мод:
      2.1. Мод
      2.2. cef. Уже подключен на веб хостинг при необходимости можно заменить
      Мод будет дорабатываться и опубликовываться на этом форуме, ценник будет выше но если купите мод то доплачивать не придется, сможете сразу скачать новую версию.
       
      Связь: vk.com/nastelectric
       
      Добавил ВасилийСталин Добавлено 14.08.2025 Категория Моды Автор Abeme  
    • Senwik
      By Senwik
      Всем здравствуйте, я тут решил сделать свой крмп сервер, и у меня возник вопрос, где можно достать кэш для лаунчера и сервера, как настроить лаунчер, чтоб кэш скачивался в нужное место и игра могла нормально работать. 
      P.S. Если подскажете, где можно прочитать по данной теме, то будет вообще класс, всем бобра