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