Help me with lag

Do you understand what i'm asking?

  • Yes

    Votes: 4 100.0%
  • No

    Votes: 0 0.0%

  • Total voters
    4
  • Poll closed .

Evote

New Member
Reaction score
4
This lags like a bum DOSEN"T LEAK.??
PHP:
Sliding Copy
    Events
        Time - Every 0.01 seconds of game time
        Unit - A unit Is issued an order targeting a point
    Conditions
    Actions
        Unit - Make (Triggering unit) face (Target point of issued order) over 0.01 seconds
        Unit Group - Pick every unit in All_Units and do (Actions)
            Loop - Actions
                Set point[(Player number of (Owner of (Picked unit)))] = (Position of (Picked unit))
                Set X[(Player number of (Owner of (Picked unit)))] = (X of point[(Player number of (Owner of (Picked unit)))])
                Set Y[(Player number of (Owner of (Picked unit)))] = (Y of point[(Player number of (Owner of (Picked unit)))])
                Set THETA[(Player number of (Owner of (Picked unit)))] = (Facing of (Picked unit))
                Set THETA[(Player number of (Owner of (Picked unit)))] = (THETA[(Player number of (Owner of (Picked unit)))] - 90.00)
                Set THETA[(Player number of (Owner of (Picked unit)))] = (THETA[(Player number of (Owner of (Picked unit)))] x -1.00)
                Set X[(Player number of (Owner of (Picked unit)))] = (X[(Player number of (Owner of (Picked unit)))] + (Frame_Rate[(Player number of (Owner of (Picked unit)))] x (Sin(THETA[(Player number of (Owner of (Picked unit)))]))))
                Set Y[(Player number of (Owner of (Picked unit)))] = (Y[(Player number of (Owner of (Picked unit)))] + (Frame_Rate[(Player number of (Owner of (Picked unit)))] x (Cos(THETA[(Player number of (Owner of (Picked unit)))]))))
                Set point[(Player number of (Owner of (Picked unit)))] = (Point(X[(Player number of (Owner of (Picked unit)))], Y[(Player number of (Owner of (Picked unit)))]))
                If (((Unit-type of (Picked unit)) Equal to Arrgh Shit My Head's on Fire.) and ((Terrain type at point[(Player number of (Owner of (Picked unit)))]) Equal to Northrend - Ice)) then do (Unit - Move (Picked unit) instantly to point[(Player number of (Owner of (Picked unit)))]) else do (Do nothing)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        And - All (Conditions) are true
                            Conditions
                                (Unit-type of (Picked unit)) Equal to Arrgh Shit My Head's on Fire.
                                (Terrain type at point[(Player number of (Owner of (Picked unit)))]) Equal to Northrend - Snow
                    Then - Actions
                        Unit - Kill (Picked unit)
                    Else - Actions
                        Do nothing
        Custom script:   call RemoveLocation (udg_point[1])
        Custom script:   call RemoveLocation (udg_point[2])
        Custom script:   call RemoveLocation (udg_point[3])
        Custom script:   call RemoveLocation (udg_point[4])
        Custom script:   call RemoveLocation (udg_point[5])
        Custom script:   call RemoveLocation (udg_point[6])
        Custom script:   call RemoveLocation (udg_point[7])
        Custom script:   call RemoveLocation (udg_point[8])
        Custom script:   call RemoveLocation (udg_point[9])
        Custom script:   call RemoveLocation (udg_point[10])
        Custom script:   call RemoveLocation (udg_point[11])
        Custom script:   call RemoveLocation (udg_point[12])
know one say i have plenty of sliding triggers which work fine, this one shouldn't lag cause it has one less leak than the others i removed point of offset and did some trigg using sin and cos it works but abit dodgey(laggy).
Don't say i should make the perotic event 0.03 or 0.02 no point cause inbetween each timing it counts in .01 so 1000x0.01=one second thats how it is prosessed.


for example:
if the event was every 1 second it wound process the same amount of times as .01. except the actions. Why does it lagg!!!!
btw u can steel my trig (not as in trigger as in the maths subject)
 

Tinki3

Special Member
Reaction score
418
Using a periodic timer of 0.01 seconds would most probably lag any trigger that has alot of actions.

In your case, your setting what looks to be like 9-12 variables, even worse, your setting those variables for each picked unit of that unit group, and even worse, your picking every unit in a unit group.

I don't see why you would want to even think about using 0.01 seconds, let alone using it..

EDIT: Your basically telling the trigger you want lag.
 

Chocobo

White-Flower
Reaction score
409
Unit Group makes lag. (maybe)

By the way, why 2 events in one? Not that good, because when you spam orders at one point, it will make the trigger run faster. (too much exec count?)

Try to remove the actions from the unit group, and put only one action, and see what happens. If it keeps lagging, it is the cause. Else I don't see where it can be.
If it's the cause, try to store the values of Cos and Sin in variables, and use Cos[(Facing of (Picked unit))] or Sin[(Facing of (Picked unit))] instead of calculating every 0.01 seconds too many times (maybe +1500 arithmetic orders every 0.01 seconds?)


Also, what's the point of the loop? The question is pretty easy to understand.
 

Evote

New Member
Reaction score
4
yer i want it to go faster when u turn :) it makes turn smoother.
i carn't get rid of loop
Thanks i hope it'll stop lagging
i think i can remove thoose set ones from unit group with a player group will that lag still should i do it?
Edit 2: Dw i carn't do that... cause i have owner of picked unit and just normal picked unit.
i tryed some reduction code to fix it lol i'm desperate.
Sliding Copy
Events
Time - Every 0.01 seconds of game time
Unit - A unit Is issued an order targeting a point
Conditions
Actions
Unit - Make (Triggering unit) face (Target point of issued order) over 0.01 seconds
Unit Group - Pick every unit in All_Units and do (Actions)
Loop - Actions
Set point[(Player number of (Owner of (Picked unit)))] = (Position of (Picked unit))
Set X[(Player number of (Owner of (Picked unit)))] = (X of point[(Player number of (Owner of (Picked unit)))])
Set Y[(Player number of (Owner of (Picked unit)))] = (Y of point[(Player number of (Owner of (Picked unit)))])
Set THETA[(Player number of (Owner of (Picked unit)))] = (((Facing of (Picked unit)) - 90.00) x -1.00)
Set X[(Player number of (Owner of (Picked unit)))] = (X[(Player number of (Owner of (Picked unit)))] + (Frame_Rate[(Player number of (Owner of (Picked unit)))] x (Sin(THETA[(Player number of (Owner of (Picked unit)))]))))
Set Y[(Player number of (Owner of (Picked unit)))] = (Y[(Player number of (Owner of (Picked unit)))] + (Frame_Rate[(Player number of (Owner of (Picked unit)))] x (Cos(THETA[(Player number of (Owner of (Picked unit)))]))))
Set point[(Player number of (Owner of (Picked unit)))] = (Point(X[(Player number of (Owner of (Picked unit)))], Y[(Player number of (Owner of (Picked unit)))]))
If (((Unit-type of (Picked unit)) Equal to Arrgh Shit My Head's on Fire.) and ((Terrain type at point[(Player number of (Owner of (Picked unit)))]) Equal to Northrend - Ice)) then do (Unit - Move (Picked unit) instantly to point[(Player number of (Owner of (Picked unit)))]) else do (Do nothing)
If (((Unit-type of (Picked unit)) Equal to Arrgh Shit My Head's on Fire.) and ((Terrain type at point[(Player number of (Owner of (Picked unit)))]) Equal to Northrend - Snow)) then do (Unit - Kill (Picked unit)) else do (Do nothing)
Custom script: call RemoveLocation (udg_point[1])
Custom script: call RemoveLocation (udg_point[2])
Custom script: call RemoveLocation (udg_point[3])
Custom script: call RemoveLocation (udg_point[4])
Custom script: call RemoveLocation (udg_point[5])
Custom script: call RemoveLocation (udg_point[6])
Custom script: call RemoveLocation (udg_point[7])
Custom script: call RemoveLocation (udg_point[8])
Custom script: call RemoveLocation (udg_point[9])
Custom script: call RemoveLocation (udg_point[10])
Custom script: call RemoveLocation (udg_point[11])
Custom script: call RemoveLocation (udg_point[12])
Also i would add rep to you guys but i already have be4 so i won't let me lol.
 

Evote

New Member
Reaction score
4
dw i fixed it it was selecting 2 owned by the same player lol
Thanks all
 

Steel

Software Engineer
Reaction score
109
Give enough information to process WC3 will lag. My floating bars system lags with a .02 Timer if you have more than 10 of them. It is optimized perfection of JASS and has no leaks, but it still causes lag, massive lag. So the system you have is just ineffective. There are a bunch of tutorials over at Wc3Campaigns on sliding.
 

Omni

Ultra Cool Member
Reaction score
37
why dont you remove the points with an integer A loop
wouldnt that be more faster or somehing (at least look better)
 

Evote

New Member
Reaction score
4
and alot of the tutorals were posted by me i just trying something new
i made a calculater to find the point of offset without minor leaks
 
U

Ur-Quan

Guest
By the way groups leak.
Just use
Code:
Custom script:   set bj_wantDestroyGroup = true
before setting the group.
It may be the cause of lag.
Group leaks are the biggest ones:D.
 

Evote

New Member
Reaction score
4
No lol All_Units is a varable name so i set in in the intilisation. I already added that in inistilisation.
And thanks anyway +rep
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top