Сайт восстановлен из веб архива. Сейчас он доступен только для чтения, скачивание материалов также недоступно. Если у вас до сих пор есть какие-то вопросы по разработке серверов CRMP, вы можете перейти на актуальный портал: https://pawno-rus.com

Перейти к содержимому

Уважаемый гость, если у Вас возникли проблемы с регистрацией, просьба обратиться в тех.поддержку или на почту admin@pawno-crmp.ru

Для полного доступа ко всем функциям форума, Вам необходимо зарегистрироваться и авторизоваться.

Фотография
Урок

Перебор машин на основе foreach

- - - - - criminal russia crmp pawno уроки crmp крмп foreach urm astera

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1
offline   Amfy

Amfy
  • 1598
    • Сообщений: 3 064
    • Регистрация: 24.01.14

Бешеный перебор машин на основе foreach от Траккера (Триггера)
Переделал под машины: Caypen

В самый верх мода:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Пример:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Таким образом, мы перебираем только те машины, которые были созданы, а те, которые удалены, пропускаем даже не интерпретируя.
За основу взят метод Траккера для игроков.

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Почти в 27 раз быстрее.
Был создан цикл на 1000000 раз в нутри которого был цикл машин через forveh а в первом же тесте через дедовский метод.


  • 3

#2
offline   Luck_Duck

Luck_Duck
  • 5
    • Сообщений: 35
    • Регистрация: 24.08.15

для чего это используется, можно конкретный пример ?


  • 0

#3
offline   Skyline

Skyline
  • 9
    • Сообщений: 209
    • Регистрация: 25.09.15

Вообще не понял для чего это, сорри за оффтоп xd


  • 0

#4
offline   JoKeR2020

JoKeR2020
  • 502
    • Сообщений: 1 798
    • Регистрация: 26.11.14

Skyline, данный цикл просматривает только созданные машины. Покажу на примере, обычный цикл использует MAX_VEHICLES, то есть делает 2000 тактов, и в каждом такте вызывает IsValidVehicle, если у нас на сервере всего лишь 100 машин например, зачем лишние 1900 тактов (+ это постоянный вызов IsValidVehicle, что так же занимает ресурсы)?

 

Данный же цикл записывает все использумые id в массив и сортирует их таким образом что все они располагаются на первых ячейках. Значит что при использовании цикла на этом массиве, мы будем вызывать не 1900 тактов (как раньше), а всего лишь 100, т.е. сколько машин на сервере (+ не надо вызывать IsValidVehicle, т.к. в массиве будут id только валидных машин).

 

На одном цикле результаты не так важны, в программировании надо учитывать всё, а давайте приставим что таких циклов у нас 25, и они вызываются каждую секунду?


Сообщение отредактировал JoKeR2020: 19 Ноябрь 2015 - 13:35

  • 2



Темы с аналогичным тегами Урок, criminal russia, crmp, pawno, уроки crmp, крмп, foreach, urm, astera

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Данную тему посетили 129 пользователей