HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

Author Topic: Endless Load Screen  (Read 2090 times)

jcsmith562

  • General Accounts
  • *
  • Posts: 190
    • View Profile
Endless Load Screen
« on: Jul 18, 15, 06:32:20 AM »

So this problem has been plaguing us forever so decided to see if anyone has found a solution or if this is a bug.

The problem seems to occur if you cross into an area seamlessly while it is still loading in data from the previous area. It never recovers and just hangs on the loading screen. We have placed some code to try to recover from it but it still happens quite often. Typically it happens near corners where multiple areas are meeting up. If someone crosses just on the far end of one and then into another they can easily go into the third area before it has a chance to load in everything from the second. There is no external function or anything that I'm aware of to clear out old loading data.

Is there any solution for this?
Logged

FI-ScottZ

  • General Accounts
  • *
  • Posts: 1407
    • View Profile
    • Forever Interactive, Inc.
Re: Endless Load Screen
« Reply #1 on: Jul 18, 15, 10:37:11 AM »

Quote
Typically it happens near corners where multiple areas are meeting up.
Sounds like you have the areas in a grid, which causes that problem because the areas that are kitty corner from each other are not connected.  If you can, you would be better arranging them overlapping like bricks, where only 3 meet at an intersection.  Then there is no problem because each area is touching the other 2 so are three all loaded when you are in any one of them.
Logged
Scott Zarnke
Lead Programmer, Visions of Zosimos
CTO, Forever Interactive, Inc.

AWW_boss

  • General Accounts
  • *
  • Posts: 846
  • gdfgd
    • View Profile
Re: Endless Load Screen
« Reply #2 on: Jul 18, 15, 12:43:47 PM »

Quote
Typically it happens near corners where multiple areas are meeting up.
Sounds like you have the areas in a grid, which causes that problem because the areas that are kitty corner from each other are not connected.  If you can, you would be better arranging them overlapping like bricks, where only 3 meet at an intersection.  Then there is no problem because each area is touching the other 2 so are three all loaded when you are in any one of them.


It is nowhere stated that the areas must be overlapping like bricks. Wouldn't it be better if this bug is fixed, rather then having all developers implement workarounds?
Logged

FI-ScottZ

  • General Accounts
  • *
  • Posts: 1407
    • View Profile
    • Forever Interactive, Inc.
Re: Endless Load Screen
« Reply #3 on: Jul 18, 15, 02:26:31 PM »

I don't see it really as a bug, but the nature of the design: when in an area, it only loads those that are linked to it.  After all, how could it know which of the many possible areas which are not linked it should spin up?  And there is really no way to get around that it will take some time when areas are spun up/down.

True, no one has said it must be done any particular way, but Cooper and others have recommended it in numerous places on the forums, as well as the wiki.

I am not sure if this is even what is going for JC, just offering a suggestion.
Logged
Scott Zarnke
Lead Programmer, Visions of Zosimos
CTO, Forever Interactive, Inc.

HE-Cooper

  • *****
  • Posts: 2221
    • View Profile
Re: Endless Load Screen
« Reply #4 on: Jul 18, 15, 04:06:03 PM »

If you can get us a solid repro case we can check out what's happening specifically, but we've never been able to repro internally. I think we once saw a similar outcome in the Repop dev world, but there were too many other script errors at play to isolate a given case.
Logged

keeperofstars

  • General Accounts
  • *
  • Posts: 998
    • View Profile
    • StarKeeper Online
Re: Endless Load Screen
« Reply #5 on: Jul 18, 15, 05:37:38 PM »

There is one things currently going on where the HB loads seamless area +1 linked past it's linked. So if you are in a grid, it's possible that i could spin up around 10 / 14 areas+. I don't think it's your problem though,

When I've ran into the hang it's usually random, and it's mainly just in the HB, and it's usually for me at least seen most often when there are things that are affecting a loading screen, or if there are lots of things at spin up going on behind the scenes.

Might want to look for any thing you do on area load, make sure it's not a loop getting stuck, I did that once was a real annoyance to debug, cause you don't think about some of those scripts. Especially if the lock case is not always occuring.

I had one that was just a pure race condition, where I was calling data from a system area about an area that was still spinning up to say. Had to put a check in to make sure the area was up before calling the system area. But the loop was there for the area load so it locked area from loading at times.

But i have randomly seen it happen just out of the blue, but i think it's just HB getting hung on something stupid.
Logged
[img]http://screencast.com/t/x7btcSSyp3h0[\img]

HE-Cooper

  • *****
  • Posts: 2221
    • View Profile
Re: Endless Load Screen
« Reply #6 on: Jul 18, 15, 06:20:10 PM »

Does it also happen in the player client, or just HB?
Logged

Thazager

  • General Accounts
  • *
  • Posts: 1149
  • Never stop learning
    • View Profile
    • Heroes and Villains MMORPG
Re: Endless Load Screen
« Reply #7 on: Jul 18, 15, 07:11:25 PM »

Maybe adding it to KeepAreaUp() list? If the area was up it might not need to spin up?
Logged

jcsmith562

  • General Accounts
  • *
  • Posts: 190
    • View Profile
Re: Endless Load Screen
« Reply #8 on: Jul 19, 15, 12:16:31 AM »

We regridded our world about a year ago to use a diamond grid, so there are never more than 3 areas at a given point. It looks like this: http://repopdb.com/#/map

To duplicate if we just go to any of the corners and cross quickly (vehicles are the easiest way if your in repop). It is especially prevalent if an area is not in the being kept up in a keep up area list. Happens in both client and blade. When monitoring in blade the one time we can always duplicate the issue is if you switch areas while there are still things in the repository requests. If there are repo requests still ongoing it always hangs and never recovers. I'm wondering if its waiting on them all to complete before loading the new area, and then something from the switch is causing them to stall and not complete.

Logged