Jump to content

Does A24 Lag Less?


mysticjim
 Share

Recommended Posts

With the official release of Alpha 24 hopefully coming very soon, I'll be doing a video on the topic shortly covering the things I'd ideally like to see in it. A lot of it has already been documented, so there are some headline things that we know are better in the new version, but having not had chance to play it myself yet, I thought I'd ask what is the burning question to the people who have already used the development version.

So, far and away the mos commonly asked question I get in my videos, especially the big 4v4 games, 'what's with the lag/drop in frame rate?' 

I know, if you take away the instances of a player having a bad connection, the lag inherent to the game itself still occurs when multiple teams get around the 150 mark. My understanding is that it's a longstanding issue with the path-finding logic in the code of the game. So, has anyone tested a big multiplayer game in A24 - is this still a problem, or has it been improved - and if so, roughly how much has it been improved?

The issue has been a big potential turn off for new players, especially those discovering the game for the first time through my videos, which is a bit sad because I think some people just can't see past it and look at all the other positives of the game and the achievements of the 0AD project as a whole. 

So, I'm intrigued to know if this has been improved in A24 - it certainly would be a massive boost and make 0AD a more appealing proposition to newcomers.

Link to comment
Share on other sites

17 minutes ago, mysticjim said:

My understanding is that it's a longstanding issue with the path-finding logic in the code of the game.

This isn't actually that true, though it's an extremely persistent myth. The lag in the late game is, indeed, in part caused by pathfinding, but other areas of the game also largely contribute to it, such as simply updating gatherers, checking if new enemies have entered Line of Sight, running the JS Garbage Collector, etc.

Basically, threading the pathfinder will _not_ entirely fix lag with many hundreds of units. We have more work to do for that.

17 minutes ago, mysticjim said:

So, has anyone tested a big multiplayer game in A24 - is this still a problem, or has it been improved - and if so, roughly how much has it been improved?

It remains a problem, and had likely improved relatively little for A24 - there have been some optimisations, and also a few things which are perhaps slower.
There is however, one thing that could help pathfinding: units now move in formation by default, and that helps.

17 minutes ago, mysticjim said:

The issue has been a big potential turn off for new players, especially those discovering the game for the first time through my videos, which is a bit sad because I think some people just can't see past it and look at all the other positives of the game and the achievements of the 0AD project as a whole. 

I think part of it is also that the 500ms turns in MultiPlayer make the game look more laggy than it really is (something I aim to try and change for A25 too).

Overall, no, don't expect much improvement for A24, unfortunately. We're targeting threading the pathfinder for A25, which will help some. The renderer is also being worked on, and that will help FPS indirectly.

  • Like 1
  • Thanks 3
Link to comment
Share on other sites

Massive thanks @wraitii- I guess there will always be the unrealistic expectation that the new version will 'fix everything.' However, I'm still excited for A24's arrival :) 

And thanks for clarifying the situation with the lag and the path-finding. Massive apologies if I've previously fueled the myth, I first heard about that in a Reddit post and it appeared to be the official line on the subject, so I took it as gospel. 

  • Like 1
Link to comment
Share on other sites

Quote

And thanks for clarifying the situation with the lag and the path-finding. Massive apologies if I've previously fueled the myth, I first heard about that in a Reddit post and it appeared to be the official line on the subject, so I took it as gospel. 

Don't worry about it. It's true that pathfinding is slow, so it's not like it's not a problem either, just don't expect that it'll fix everything, yes :P. It is probably the #1 cause of lag, but removing it doesn't mean you'd get 60 FPS either in the end-game, is all.

We're excited about the release too, it's been a while, and it's setting us up to make A25 really cool too!
 

  • Thanks 1
Link to comment
Share on other sites

31 minutes ago, Ceniros said:

The renderer is being worked on which version alpha 24 or alpha 25?

Some work went into A24 - you might have seen that we now have FXAA/MSAA options.

Some more work will likely go into A25, further improving capabilities and/or performance. At this time, nothing can really be promised :)

Link to comment
Share on other sites

52 minutes ago, wraitii said:

Some work went into A24 - you might have seen that we now have FXAA/MSAA options.

Some more work will likely go into A25, further improving capabilities and/or performance. At this time, nothing can really be promised :)

What other stuff did they added, was fxaa/msaa always enabled on alpha 23?

Link to comment
Share on other sites

Some ideas:

  • Option to disable rendering of corpses and projectiles on the ground. Not rendering possibly thousands of objects likely helps quite a lot.
  • Render very low poly replacements at a certain distance. A thousand tris for something the size of a few pixels is not worth it.
  • Option to allow rendering at lower resolution and then scale up. Probably rather useful for 4k users.
  • Use of vulkan instead of opengl.
  • Decouple observers, if they can't keep up it's their problem alone.
  • Possibly move some components to C++ to increase execution speed and to reduce interaction between native code and interpreter. The latter probably is a major bottleneck in 0ad. Sure this reduces the ease of modding to some extent.
  • One I don't like to see personally. Let units have no obstruction so the pathfinder has it easy.
Link to comment
Share on other sites

Wouldn't a render range (aka render distance) limiter give a decent boost too? Because if we tilt the camera top down you get much more fps then a side view. Or maybe a slider in the menu to limit render distance for x+z coördinates while ignoring height ( y ) from the equation. Just thinking out loud here.

Edited by Grapjas
Link to comment
Share on other sites

37 minutes ago, hyperion said:

Option to disable rendering of corpses and projectiles on the ground. Not rendering possibly thousands of objects likely helps quite a lot.

Was done. But apparently it costs too much performance doing that see https://code.wildfiregames.com/D2936

39 minutes ago, hyperion said:

Render very low poly replacements at a certain distance. A thousand tris for something the size of a few pixels is not worth it.

See https://code.wildfiregames.com/D2440

40 minutes ago, hyperion said:

Use of vulkan instead of opengl.

Too many users would not be able to play the game anymore...

 

  • Thanks 1
Link to comment
Share on other sites

2 hours ago, wraitii said:

Some work went into A24 - you might have seen that we now have FXAA/MSAA options.

Some more work will likely go into A25, further improving capabilities and/or performance. At this time, nothing can really be promised :)

How much more work was put into along with fxaa/msaa In alpha 24?

Link to comment
Share on other sites

1 hour ago, Grapjas said:

Wouldn't a render range (aka render distance) limiter give a decent boost too? Because if we tilt the camera top down you get much more fps then a side view. Or maybe a slider in the menu to limit render distance for x+z coördinates while ignoring height ( y ) from the equation. Just thinking out loud here.

It would, but at "normal" camera orientation and FOV there's really not much we can hide. Level of Detail would help, but it's work.

1 hour ago, hyperion said:
  • Render very low poly replacements at a certain distance. A thousand tris for something the size of a few pixels is not worth it.

Patches welcome ™ :) 

1 hour ago, hyperion said:
  • Option to allow rendering at lower resolution and then scale up. Probably rather useful for 4k users.

This we need to for HD displays and 4K. I think we could do it now, just again, needs work.

1 hour ago, hyperion said:
  • Decouple observers, if they can't keep up it's their problem alone.

That I believe would be somewhat straightforward to do & is definitely desirable.

1 hour ago, hyperion said:
  • Possibly move some components to C++ to increase execution speed and to reduce interaction between native code and interpreter. The latter probably is a major bottleneck in 0ad. Sure this reduces the ease of modding to some extent.

Last resort I think.

1 hour ago, hyperion said:
  • One I don't like to see personally. Let units have no obstruction so the pathfinder has it easy.

Unit pushing (D1440) does something like that in a saner manner, but it needs a lot more work to be mergeable.

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, Stan` said:
2 hours ago, hyperion said:

Use of vulkan instead of opengl.

Too many users would not be able to play the game anymore...

I guess, you would be surprised, if you look, how many old hardware is supported. Especial on Linux. But yeah, this would have to be integrated side by side to the OpenGL implementation. But there is currently not enough manpower to do this.
Maybe it's easier, to thread the renderer?

3 hours ago, wraitii said:

Some work went into A24 - you might have seen that we now have FXAA/MSAA options.

And sharpening ;)

Link to comment
Share on other sites

My personal experience with Alpha 24 is that graphics are more detailed and models are more refined, so it has better appearance than Alpha 23. However, this may put more stress on your GPU. I think there are more graphics tweaking options to lower the hardware demand. 

However, I have encountered malfunctioning shadows at low settings; the game starts with regions being completely black, which will eventually load after a few seconds but this may be a drawback for pro players who allow no idle time. 

I have also noticed a change in sound effects and more civilisations speak their own native language instead of Greek. The attack sounds are also quite different. 

Finally I think the pathfinding for rams is yet far from perfect; they can become stuck if surrounded by a few units. However, catapults are almost perfect for now, so I am very impressed with the developers. 

  • Thanks 1
Link to comment
Share on other sites

53 minutes ago, Yekaterina said:

However, I have encountered malfunctioning shadows at low settings; the game starts with regions being completely black, which will eventually load after a few seconds but this may be a drawback for pro players who allow no idle time. 

What you describe sounds like texture caching which only happens on the dev version ( release versions are precached)

 

Link to comment
Share on other sites

3 hours ago, Yekaterina said:

My personal experience with Alpha 24 is that graphics are more detailed and models are more refined, so it has better appearance than Alpha 23. However, this may put more stress on your GPU. I think there are more graphics tweaking options to lower the hardware demand. 

However, I have encountered malfunctioning shadows at low settings; the game starts with regions being completely black, which will eventually load after a few seconds but this may be a drawback for pro players who allow no idle time. 

I have also noticed a change in sound effects and more civilisations speak their own native language instead of Greek. The attack sounds are also quite different. 

Finally I think the pathfinding for rams is yet far from perfect; they can become stuck if surrounded by a few units. However, catapults are almost perfect for now, so I am very impressed with the developers. 

How much poly count do the models have?

Link to comment
Share on other sites

14 minutes ago, Ceniros said:

Have the system requirements increased in alpha 24?

Well it did in driver sense at least you need to have GPU which supports at least 2.0 OpenGl  from previous 1 (1.1), Ideal is OpenGL 3.3+  and CPU needs to have at least simd (instruction set) SSE2 (https://code.wildfiregames.com/D3212) and if you want to use post effects (FXAA , MSAA https://code.wildfiregames.com/D2812, CAS https://code.wildfiregames.com/D2642) then opengl needs to be higher too (OpenGL 3.3+) plus driver needs to support It because it varies between different GPUs.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...