![]()
FKoFF
Venomancer 89lvl. Europe
![]() ![]() offline
Опыт:
5,975Активность: |
Рациональность кода
Вот возник вопрос, действительно ли рационально использовать следующие приемы в коде для снижения нагрузки на систему
|
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Clamp
Lost in space
![]() ![]() offline
Опыт:
71,158Активность: |
4 неверно, остальное лень растолковывать и это уже дрочинг на килобайты идк |
![]() |
#2
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
FKoFF,
1 - бред. Возникнит перемешка групп в паралельных потоках, где есть работа с этой переменной 2 - тоже бред. Несколько параллельных потоков быстрее, чем линейное выполнение 5к строк 3 - аналогично 4 - дык тоже аналогично =) |
![]() |
#3
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
spellwerk
![]() offline
Опыт:
4,869Активность: |
2-3 нужно сначало подумать, прежде чем делать что-либо. все зависит от того, что тебе нужно и какая будет нагрузка на этот триггер (если он один). иногда лучше несколько, иногда достаточно одного. |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
FKoFF
Venomancer 89lvl. Europe
![]() ![]() offline
Опыт:
5,975Активность: |
Clamp, хз хз, CreateGroup() и DestroyGroup() и без того донельзя тяжелые... |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
|
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
agentex
![]() offline
Опыт:
34,834Активность: |
alexprey офк не шарит. 2,3,4 все верно, насчет 1 думаю время на создание и уничтожение группы ничтожно, чтобы изза этого париться. 4 кстати идеально делать через TriggerEvaluate по таймеру, это более гибко Отредактировано agentex, 20.05.2011 в 10:01. |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
FKoFF
Venomancer 89lvl. Europe
![]() ![]() offline
Опыт:
5,975Активность: |
agentex:
там кстати действительно много косяков с группами, скорость работы резко падает при создании групп на коротком периоде (0.03), именно по этому я для начала перекинул часть группы на уникальные для каждого таймера, а позже задумался о рациональности использования пары глобалок шанс того что две функции будут вызванны 100% одновременно настолько же низок, насколько низок шанс того что два игрока абсолютно одновременно активируют функцию, использующую одинаковые переменные.
К слову хочу заметить что на моей слабенькой машине избавление от спама групп заметно увеличило производительность и снизило лаги. |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
agentex :3
можно закрывать? |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Clamp
Lost in space
![]() ![]() offline
Опыт:
71,158Активность: |
потоки в варе выполняются последовательно, не параллельно. пора бы знать! |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Doc
![]() offline
Опыт:
63,163Активность: |
Clamp, да ты что? докажешь? |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
agentex
![]() offline
Опыт:
34,834Активность: |
это факт |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
Clamp, эмм как бы поток это и подрузамевает, чтобы выполнялось паралельно. Но эта параллельность достигается путём поочередного выполнения команд. Сперва в первом 1 команду, потом во 2 и т.д. Ну как то так... Если бы они все друг за другом выполнялись бы, то движение дамми по циклу повесило бы всю игру. А оно не вешает
|
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Clamp
Lost in space
![]() ![]() offline
Опыт:
71,158Активность: |
Clamp добавил: alexprey: И прямо такая большая и ощутимая разница в скорости загрузки, что огого. И кстати оно именно так и выполняется, а дамми циклом просто двигать не надо =О |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
Цитата:
я знаю что не надо. Но ведь остальные триги выполняется, если сделать так =) |
|
![]() |
#15
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DotaMaster666
Silenced by GadenbIsh
![]() offline
Опыт:
1,259Активность: |
Использовать udg_Temp_Group сразу.
При правильной организации кода может положительно сказаться на производительности. Рискуете потерять в читаемости.
Затрудняюсь что то сказать, нужно проводить експерименты, не будет ли это течь.
Использовать место одного триггера один таймер, в вызываемой функции обрабатывать все снаряды.
alexprey написал рекордное количество бреда в теме, я на этом форуме столько еще не видел. |
![]() |
#16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
prog
![]() offline
Опыт:
32,865Активность: |
Потоки в варе выполняются последовательно, но с одним нюансом - новый запускаемый поток приостанавливает выполнение активного потока и возвращает ему управление только по своему завершению (насчет паузы в потоке не скажу - стараюсь ими не пользоваться, но по идее управление также должно возвращаться). Это чуть ли не единственный способ реализовать работоспособную многопоточность без средств синхронизации. |
![]() |
#17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
J64_
![]() offline
Опыт:
4,724Активность: |
1
для GroupEnum'а используй всего одну группу, действия делай в фильтре, не вызывай GroupClear() 2,3 бинарное древо через ифы 4
? |
![]() |
#18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Msey
????
![]() offline
Опыт:
67,346Активность: |
AdamanTX:
а чем это чревато? |
![]() |
#19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
XyZoD
![]() ![]() offline
Опыт:
2,073Активность: |
Зачем вообще на счёт этого парится? Эти ничтожные функции, (вар 2000г. вроде) они просто не как не влияют на производительность. Мне кажется AI современных игр грузят систему раз так в 50 больше чем древний вар |
![]() |
#20
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|