Jump to content
Eternal Lands Official Forums
Learner

Animation smoothing

Recommended Posts

I've added a new compile options -DDYNAMIC_ANIMATIONS which might help some systems show smoother animation of actors. It makes the animation timing be controlled by the FPS instead of the timer.

 

If people could try it out and report if it semms to help or any problems, please do so! This is intended as a proof of conept, but if it does make a difference it could get into the next client.

Share this post


Link to post
Share on other sites

I've compiled with the option and run things up. I'm sorry to say I could not notice anything different.

 

Under what kind of conditions should the new code start to show a difference?

 

Edit:

Played with the option enabled for a hour or so. Probably nothing to do with the change but I had one client crash (no further info sorry) and kept getting many server re syncs. Never have these usually. Rebuild without option and all is well so far. As I say, probably just a coincidence. I'm running on Linux BTW.

Edited by bluap

Share this post


Link to post
Share on other sites

Compiled with the options, I too suffer frequent server resyncs. AMD Sempron 3300+, 512MB DDR400, ATI x700 256MB, Omega Drivers, Win XP Pro SP2.

 

I even limited my frame rate to 12, problem still occurs. No real CPU load to speak of when it occurs.

Share this post


Link to post
Share on other sites

Im running 2 clients (compiled with -DDYNAMIC_ANIMATIONS).

 

One client suffers from resyncs every 2-7 minutes, the other client is fine.

 

Piper

 

Edit: Ok, now the resyncs moved from client 1 to client 2 o.O

Edited by The_Piper

Share this post


Link to post
Share on other sites

I'm getting more resyncs with this option than before :\

 

AMD64 3000+, GeForce 440 Go, GNU/Linux, latest NVIDIA drivers.

Share this post


Link to post
Share on other sites

for all of those getting resyncs, is your FPS low? intentionally, or not?

I haven't spent enough time looking at this code to be certain, but what I have seen suggests to me that it won't cope well if the FPS is too low, it can no longer keep up with the rate in actor animations (since it's called in the main rendering, not regularly in a timer)

for those who it works well, or not, seeing the FPS you get should be helpful

 

(as a side-note, this is a step towards mono-threading, which, in the days of dual and soon quad core CPUs, seems to me to be the wrong direction :D )

Share this post


Link to post
Share on other sites

for all of those getting resyncs, is your FPS low?

 

My FPS is limited to 50, so usually its between 40-50. Unlimited it would be > 100.

 

Piper

Share this post


Link to post
Share on other sites

for all of those getting resyncs, is your FPS low? intentionally, or not?

Mine is set to 50 max also. Though I get much lower than that normally.

Share this post


Link to post
Share on other sites

My FPS is usually 15-30. When I recompiled the client I moved to a built-up area - Idaloran village with buildings and VoTD Storage. Around those areas it was generally 10-20.

 

I didn't see anything significant other than more resyncs, didn't notice much with regards animation smoothing.

Share this post


Link to post
Share on other sites

I just logged on today and as a welcome, i got 3 resyncs in a row.

 

Removed that option and recompiled, no more resyncs right now.

 

Piper

Share this post


Link to post
Share on other sites

I just logged on today and as a welcome, i got 3 resyncs in a row.

 

Removed that option and recompiled, no more resyncs right now.

 

Piper

Update from CVS, I made a change in that option that seems to help the resyncs.

Share this post


Link to post
Share on other sites

tabs.c 14,15:

 

int tab_help_x = 150;

int tab_help_y = 70;

 

needs changing to

 

Uint16 tab_help_x = 150;

Uint16 tab_help_y = 70;

Share this post


Link to post
Share on other sites

tabs.c 14,15:

 

int tab_help_x = 150;

int tab_help_y = 70;

 

needs changing to

 

Uint16 tab_help_x = 150;

Uint16 tab_help_y = 70;

that was my change, because of the window getting locked to the right of the screen if you exit with the window coords negative... all other windows use signed coords, so my testing wasn't that comprehensive, why is it so bad?

Share this post


Link to post
Share on other sites

you had int in tabs.c and Uint16 in tabs.h, compilation error.

 

Either or, you could have changed the uint16 to int in tabs.h

Edited by LabRat

Share this post


Link to post
Share on other sites
Either or, you could have changed the uint16 to int in tabs.h
d'oh, that was supposed to happen too :P okay, fixed now, thanks

Share this post


Link to post
Share on other sites

Back to topic :P

 

resyncs appear to have dissipated into the ether with the latest cvs ;)

Share this post


Link to post
Share on other sites

Ran the client with the resync errors for most of yesterday - FPS max set to 20. In the beginning it was running without any resyncs or problems, but it got worse and worse during the hours, although I couln't really point out what was causing it. Latest CVS version is running flawlessly, without any resyncs.

 

One sidenote though - I can't notice any difference in animations. What do I have to look out for?

I don't think it makes much sense to change anything if noone notices any difference ;-)

Share this post


Link to post
Share on other sites

Ran the client with the resync errors for most of yesterday - FPS max set to 20. In the beginning it was running without any resyncs or problems, but it got worse and worse during the hours, although I couln't really point out what was causing it. Latest CVS version is running flawlessly, without any resyncs.

 

One sidenote though - I can't notice any difference in animations. What do I have to look out for?

I don't think it makes much sense to change anything if noone notices any difference ;-)

, it mig

The change synchronizes the position with the time of the current frame instead of mobing the actor position at fixed intervals. On slow CPU's in crowded areas, this might raise the FPS since the models are adjusted fewer times. On fast machines I'm trying to see if it is noticable. or may not be.

 

As more animation effects and emotes are added and the current ones improved, this will make a bigger difference for slower systems.

Share this post


Link to post
Share on other sites

Yes, no resyncs for me since learners fix.

Me neither. Only the one, crash too (reported originally). That must have been something else...

Edited by bluap

Share this post


Link to post
Share on other sites

I have had numerous crashes while fighting - obviously the worst time to crash. Removing the define stops these crashes.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×