| 11-08-2008, 03:26 AM | #1 |
To add effects and buffs to enemy units within a circle for a set amount of time, I'm using a dummy cast of a modified flame strike. This works fine when no enemy units have walked into the flames, yet when even 1 unit is affected by the circle of flames the game begins to lag noticeably. 5 units slows down the game, and over 10 gives it a heart attack for at least 30 seconds. Does anyone know why this is happening? Is it the modified settings? (14 second buff duration). I know it is not the rest of my spell code, because this only happens when both flame strike is cast and enemy units run into it. |
| 11-08-2008, 04:47 AM | #2 |
Although im not perfect at coding, one thing I can say that posting code would help the response time, and the quality of help you will get, In addition it would help us know exactly what kind of problem you have. |
| 11-08-2008, 01:59 PM | #3 |
I believe the problem is solely related to the casting of flame strike. I'll just try casting the ability with my trigger disabled to see if this is true, otherwise ill post my code. EDIT: Yeah, I disabled the two systems im using as well as the trigger code, it looks like the problem arises from using flame strike... Should I attach a testmap? |
| 11-08-2008, 02:20 PM | #4 |
reset settings step by step, then do not change setting that cause lag. |
| 11-08-2008, 02:36 PM | #5 |
Flame strike laggs cuz it produces about 15-20 additional effects which only affects your computer performance. The worst thing is that you cannot change this. If you give the flame strike a huge area of effect, you see the effects is being spread, instead of increased. With blizzard you can control how much effects it has, but it doesn't have the same smooth damage effect + it has initial delay. |
| 11-08-2008, 09:33 PM | #6 |
To DioD - Changing the settings doesn't seem to help Ah thanks TKF. I'm considering using flame strike embers in a radius instead of the spell. The delay is fine with blizzard or rain of fire I guess. |
| 11-09-2008, 06:36 AM | #7 |
I strongly suspect that the damage interval is 0 or something like that. |
| 11-09-2008, 02:10 PM | #8 |
Aha! good point. I'll fiddle around with it and get back to you. |
| 11-09-2008, 02:18 PM | #9 |
If you want disable lag on some spell - remove sound effects. |
| 11-09-2008, 02:31 PM | #10 |
Yep -.- 0 full damage AND 0 half damage interval. I changed to 15 seconds (full duraiton of spell), no lag. DioD and Touko were right. Thanks guys, +rep EDIT: Since the topic is still fresh and I don't want to make another thread I have a question. When using coordinate distance calculations, is there any alternative to using SquareRoot function? It is rather slow and I've heard of things like comparison of squares that are much faster than SquareRoot, but I have no idea how to use it in this instance. |
| 11-10-2008, 08:14 AM | #11 |
Dont listen "slow native function coders" , never. Native function ALWAYS faster. |
| 11-10-2008, 08:26 AM | #12 | |
Quote:
JASS://these two lines work the same: if SquareRoot(x*x+y*y)>d then if x*x+y*y>d*d then |
| 11-10-2008, 07:23 PM | #13 |
I see. Unfortunately it looks like it wouldn't work, I need exact values to calculate a specific y distance. Though thanks for the info and how to compare values :D. |
| 11-14-2008, 03:46 AM | #14 |
Tornado Slow Aura on a dummy unit would work better for applying an AoE buff... |
| 11-14-2008, 07:37 PM | #15 |
That's a good point, since I don't need anything to happen in intervals... Though the flame strike effect is sometimes useful. I think for this spell I won't need those flame effects, so tornado slow is probably best. |
