Announcement

Collapse

The Infinity Blade Forums Have Moved

We've launched brand new Infinity Blade forums with improved features and revamped layout. We've also included a complete archive of the previous posts. Come check out the new Infinity Blade forums.
See more
See less

TickFrequency and config HACK_UseTickFrequency??

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    TickFrequency and config HACK_UseTickFrequency??

    Hi,

    i wanted to change the "TickFrequency" of some actor's and noticed that UDK simply ignores this at all. So whatever u set there, UDK will still tick all actors per frame.

    I was looking around and found "HACK_UseTickFrequency", which if set inside the UDKEngine.ini enables the use of TickFrequency again.
    I'm now a bit confused what this exactly means? Are we supposed to not use TickFrequency at all and what is this "Hack" for than?

    Any Tips/Hints whats going on here?

    bye Andy

    #2
    Oki found the first downside to using TickFrequency > 0, since the Animations on a object will tick with the same frequency, which results in choppy animation playback.

    Comment


      #3
      A hack is, by the meanings of the word, an unclean workaround for a problem that is created without really caring about solving any further issues. It's more a "you can use it, if you really need and are aware of the consequences, but usually it's recommended to find a better solution" kind of thing.

      Tickrate is an essential thing and it should never be tweaked too much. I think the default was 30 in UT2k4. Server admins usually opted to reduce it to 25 so the server has less interaction with the client (saving bandwidth) at the expense of a slightly more choppy gameplay than in compare to offline play.

      Comment


        #4
        There are tick groups but Im not sure thats of any use, it makes sense adjusting a global frequency would cascade to everything that ticks.

        Comment


          #5
          Just to make this clear, we talking about a per actor setting not global.

          I just wonder why by default we are not supposed to alter the Tick frequency of none static actors? This means that every none static actor will call its tick 30-60 times a second, which is ofc not needed for many simple actors, hence even AiPawns don't need 60 updates a second for logic. The only thing that needs to be updated per frame are the animations.
          I really wonder why the logic related actor Tick() and the animation update Tick() are coupled at all?

          Comment


            #6
            You could set a repeating timer for odd values ..

            Comment


              #7
              Ahh okay I thought it was global for everything but as its per actor what I was saying still kinda stands that the actor setting probably cascades to its owned objects.

              As far as I know tick is called from a native function tick, I guess the thinking behind that is AI uses state code which calls latent functions and the like so it goes into rest when it needs to. If the update is slower on logic so is the target acquisition ability of the pawn for games like UT and GoW that could make a dramatic difference to the gameplay, sure for all games AI logic doesnt need to be updated so often.

              Comment


                #8
                Originally posted by MonsOlympus View Post
                As far as I know tick is called from a native function tick, I guess the thinking behind that is AI uses state code which calls latent functions and the like so it goes into rest when it needs to. If the update is slower on logic so is the target acquisition ability of the pawn for games like UT and GoW that could make a dramatic difference to the gameplay, sure for all games AI logic doesnt need to be updated so often.
                True, but often Ai or Object state logic is implemented by overriding Tick() inside the state, instead of writing a while loop/goto with sleeps. I guess thats because its more convenient and safe, but ofc this is the "cleaner" way to implement polling object logic i guess.

                Comment

                Working...
                X