|
Вопрос по оптимизации.
|
|
| -=Spektr=- | Дата: Пятница, 16.03.2012, 19:51 | Сообщение # 1 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 232
Награды: 3
Город: MDK
Репутация: 166
Замечания: 0%
Статус: 
| Доброго времени суток. У меня возникла нужда в задержке между действиями. Но вот что работает с меньшей нагрузкой на сервер: таймер или некая функция? Собственно, вот и функция: Code stock Delay(time) { new seconds = gettime(); while(gettime() - seconds <= time) continue; } С радостью выслушаю другие варианты осуществления задержки. Заранее благодарен и плюсодарителен.
|
| |
|
|
| Latron | Дата: Пятница, 16.03.2012, 19:56 | Сообщение # 2 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| Quote (-=Spektr=-) Но вот что работает с меньшей нагрузкой на сервер: таймер или некая функция? Это зависит от того что делает функция...
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
|
| |
|
|
| anonimniy | Дата: Пятница, 16.03.2012, 20:05 | Сообщение # 3 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус: 
| Спрошу заодно тут в теме.
Есть разница между:
Code tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_Cvet_8, "[Ошибка] {FFFFFF}Используйте /giverank [ID] [Ранг]."); return 1; }
и:
Code tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_Cvet_8, "[Ошибка] {FFFFFF}Используйте /giverank [ID] [Ранг]."); return 1; }
|
| |
|
|
| MarkeloFF | Дата: Пятница, 16.03.2012, 20:11 | Сообщение # 4 |
|
Советчик
Группа:
I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус: 
| anonimniy, есть, в первом варианте 6строк, а во втором 4
Сообщение отредактировал MarkeloFF - Пятница, 16.03.2012, 20:11 |
| |
|
|
| Desert | Дата: Пятница, 16.03.2012, 20:23 | Сообщение # 5 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 669
Награды: 57
Город: Москва
Репутация: 1082
Замечания: 0%
Статус: 
| Разницы нету, разве, что только строк меньше. А вот если делать вот так: Code if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_Cvet_8, "[Ошибка] {FFFFFF}Используйте /giverank [ID] [Ранг]."); То разница есть
Сообщение отредактировал Desert - Пятница, 16.03.2012, 20:25 |
| |
|
|
| -=Spektr=- | Дата: Пятница, 16.03.2012, 20:28 | Сообщение # 6 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 232
Награды: 3
Город: MDK
Репутация: 166
Замечания: 0%
Статус: 
| Quote (Latron) Это зависит от того что делает функция А можно по-подробнее?
Сообщение отредактировал -=Spektr=- - Пятница, 16.03.2012, 20:30 |
| |
|
|
| MarkeloFF | Дата: Пятница, 16.03.2012, 20:35 | Сообщение # 7 |
|
Советчик
Группа:
I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус: 
| -=Spektr=-, ну если у тебя функция будет выполнять 10 таймеров, 50 проверок, то сам понимаешь...
Сообщение отредактировал MarkeloFF - Пятница, 16.03.2012, 20:35 |
| |
|
|
| Latron | Дата: Пятница, 16.03.2012, 20:37 | Сообщение # 8 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| Quote (Desert) Разницы нету, разве, что только строк меньше. А вот если делать вот так: Code Нет,это тоже самое ,Desert
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
|
| |
|
|
| ZiGGi | Дата: Пятница, 16.03.2012, 20:45 | Сообщение # 9 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус: 
| Quote (-=Spektr=-) stock Delay(time) { new seconds = gettime(); while(gettime() - seconds <= time) continue; } Эта функция бред, сервер просто повиснет на время time.
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
| |
|
|
| -=Spektr=- | Дата: Пятница, 16.03.2012, 20:45 | Сообщение # 10 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 232
Награды: 3
Город: MDK
Репутация: 166
Замечания: 0%
Статус: 
| MarkeloFF, не пойму, при чём тут функция с 10-ю таймерами и 50-ю проверками? Мне нужно сделать задержку между функциями. Например, выводится одно сообщение и через 5 секунд следующее. Quote (ZiGGi) Эта функция бред, сервер просто повиснет на время time. Ну тогда как сделать по другому?
Сообщение отредактировал -=Spektr=- - Пятница, 16.03.2012, 20:47 |
| |
|
|
| Latron | Дата: Пятница, 16.03.2012, 20:50 | Сообщение # 11 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| -=Spektr=-, например Code static Count = 3; format( str, MAX_STR, "~r~Restart in %d second!", Count ); GameTextForAll( str, 900, 3 ); if( Count == 0 ) { GameTextForAll( "~y~Server Restart!", 2500, 3 ); SendRconCommand( "gmx" ); return true; } Count--; return true;
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
Сообщение отредактировал Latron - Пятница, 16.03.2012, 20:53 |
| |
|
|
| ZiGGi | Дата: Пятница, 16.03.2012, 20:54 | Сообщение # 12 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус: 
| Quote (-=Spektr=-) Ну тогда как сделать по другому? Можно использовать плагины многопоточности, но это на свой страх и риск. Лучше всего переписать это на таймеры.
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
| |
|
|
| Latron | Дата: Пятница, 16.03.2012, 20:58 | Сообщение # 13 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| Оу я сначала не понял чего ты хочешь
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
|
| |
|
|
| -=Spektr=- | Дата: Пятница, 16.03.2012, 21:00 | Сообщение # 14 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 232
Награды: 3
Город: MDK
Репутация: 166
Замечания: 0%
Статус: 
| Quote (ZiGGi) сервер просто повиснет на время time. И правда, сейчас проверил, сервер зависает. Quote (ZiGGi) Можно использовать плагины многопоточности, но это на свой страх и риск. Почему?
|
| |
|
|
| Великс | Дата: Пятница, 16.03.2012, 21:24 | Сообщение # 15 |
|
Мастер джэдай
Группа:
Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус: 
| Quote (-=Spektr=-) Почему? Не стабильные они.
[cut=freestyle] ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ , СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ, ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ, ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ. УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА. ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ. ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ. ЛЕНАРУ ДАЙ УМА И ЛЕНУ НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ © Хасан [/cut]
|
| |
|
|