Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Combatting Lag in Very Large Campaign - What are the biggest gains to attack first??

1516965235

Edited 1516965466
Ambitosis
Marketplace Creator
Hey guys, we've been playing a west marches campaign on roll20 for over six months now but it's started to sag. The campaign has started to slow down in regards to load times, hiccups with occasional freezes during turn orders, etc. It's still playable by and large, but some people in lower end systems have definitely started to have problems playing or just connecting in general. Some things about our campaign that may help diagnose this: Character Sheets: Shaped. About 60 player sheets, the rest monsters. About 500 character sheets/tokens total in our handouts counting archived. Pages: ~250, many using dynamic lighting. No advanced fog of war maps at all. All get archived except for 7-8 at a time when we need them. We also remove all tokens from the maps when not in use, but I'm sure there's some in there that still have some on field. Handouts: ~50-60 API:  "GroupInitiative: Size: 0.279kb Percent: 0.4%" "Bump: Size: 5.230kb Percent: 7.2%" "TokenMod: Size: 0.075kb Percent: 0.1%" "TokenNameNumber: Size: 36.613kb Percent: 50.4%" "ShapedScripts: Size: 3.983kb Percent: 5.5%" "roll20-logger: Size: 0.020kb Percent: 0.0%" "TokenSwapper: Size: 0.055kb Percent: 0.1%" "TurnMarker: Size: 0.473kb Percent: 0.7%" "HealthColors: Size: 0.334kb Percent: 0.5%" "Torch: Size: 3.115kb Percent: 4.3%" "Roll20AM: Size: 15.434kb Percent: 21.3%" "Walls: Size: 0.207kb Percent: 0.3%" "DoorControls: Size: 6.557kb Percent: 9.0%" "RecursiveTable: Size: 0.015kb Percent: 0.0%" "Total: Size: 74330b Percent: 100.0%" Jukebox, if that matters: ~200 tracks Voice/Video: NONE, we tell everyone to disable webrtc entirely. Browsers used: Chrome (incognito), Firefox What causes the most lag? What's the most efficient to tackle to clean up? Reducing our monster token count is doable, areas not as much since only the main GM account can actually transmog. Would turning dynamic lighting off on archived maps make a difference? What performance hit do archived things have? Does archived just mean 'hidden' and they're still causing performance hits? What about character sheets, do those cause performance issues for other people? Any information would be a great help.
1516965677
Jakob
Sheet Author
API Scripter
Character sheets are the biggest contributor here, for sure. With a complicated sheet especially, they have a lot of attributes, and it causes a heavy performance hit at 560 sheets. I'm not sure if pages contribute, I think the number of pages is less of an influence than the complexity of the current page. Archiving is the same as hiding and doesn't actually help with performance.
1516966070

Edited 1516966086
Ambitosis
Marketplace Creator
Hey Jakob, thanks for the reply. Without getting too into it, mind sharing how so many sheets actually cause a performance hit? Players don't need to see or know about any attributes of any sheets outside of their own direct control, just the end result of rolls, don't they? Are sheets even loaded before they're looked at? Or is this just how Roll20's built?
1516966769
Gen Kitty
Forum Champion
The issue that what may not be a performance hit for Joe may be one for Bob, depending on the robustness computers and internet involved, so there is no 'good' answer to this question.  The 5e Shaped sheet is pretty hefty, so keeping as many NPCs as possible in a storage campaign and only transmogging over what is needed for a session will help out a fair bit.  How many casters are keeping full spellbooks in-sheet so they can easily swap between prepared spells on a daily basis?  That adds to your lag factor as well.
1516966956
Jakob
Sheet Author
API Scripter
Distorted said: Hey Jakob, thanks for the reply. Without getting too into it, mind sharing how so many sheets actually cause a performance hit? Players don't need to see or know about any attributes of any sheets outside of their own direct control, just the end result of rolls, don't they? Are sheets even loaded before they're looked at? Or is this just how Roll20's built? I'm not exacty sure, I haven't seen the code. But you can see that in fact all attributes of all sheets (even those you do not control) are loaded with the game (and empirically slow it down). For example, a player can enter @{Zombie|AC} in chat and get the AC attribute of the zombie character even when they do not control it.
1516967667
Ambitosis
Marketplace Creator
Jakob said: Distorted said: Hey Jakob, thanks for the reply. Without getting too into it, mind sharing how so many sheets actually cause a performance hit? Players don't need to see or know about any attributes of any sheets outside of their own direct control, just the end result of rolls, don't they? Are sheets even loaded before they're looked at? Or is this just how Roll20's built? I'm not exacty sure, I haven't seen the code. But you can see that in fact all attributes of all sheets (even those you do not control) are loaded with the game (and empirically slow it down). For example, a player can enter @{Zombie|AC} in chat and get the AC attribute of the zombie character even when they do not control it. I believe you, but in this particular example I wasn't able to replicate what you're describing. Any attempt to load an attribute like @{Zombie|AC} in player mode told me that the attribute wasn't found, but calling it for a sheet I had access to worked.
1516968134
Jakob
Sheet Author
API Scripter
Distorted said: Jakob said: Distorted said: Hey Jakob, thanks for the reply. Without getting too into it, mind sharing how so many sheets actually cause a performance hit? Players don't need to see or know about any attributes of any sheets outside of their own direct control, just the end result of rolls, don't they? Are sheets even loaded before they're looked at? Or is this just how Roll20's built? I'm not exacty sure, I haven't seen the code. But you can see that in fact all attributes of all sheets (even those you do not control) are loaded with the game (and empirically slow it down). For example, a player can enter @{Zombie|AC} in chat and get the AC attribute of the zombie character even when they do not control it. I believe you, but in this particular example I wasn't able to replicate what you're describing. Any attempt to load an attribute like @{Zombie|AC} in player mode told me that the attribute wasn't found, but calling it for a sheet I had access to worked. Hmm, maybe I misremembered it only works with @{target} and not the name...
I second Genkitty and Jakob - try to use the Transmogrifier to move unused character sheets and maps to a separate "storage" campaign.
1516971695

Edited 1516971706
Ambitosis
Marketplace Creator
Thank you for the suggestions. Would turning dynamic lighting off all the maps while they're not being used make any meaningful difference, or any at all?
1516972865

Edited 1516972880
Arthur B
API Scripter
Distorted said: Thank you for the suggestions. Would turning dynamic lighting off all the maps while they're not being used make any meaningful difference, or any at all? Probably not. From what I understand, DL is calculated in the browser when the map is open/visible. 
1517185782
Gold
Forum Champion
Arthur B said: I second Genkitty and Jakob - try to use the Transmogrifier to move unused character sheets and maps to a separate "storage" campaign. I also agree, in my experience, having 500 Character Sheets of 5E Shaped sheet, would be the biggest resource eater in Distorted's list. If you could pare that down to maybe 40 sheets, I bet you would see a difference in performance. The best technique to pare it down & yet keep them available is what others suggested above: a separate Holding Tank campaign to transmogrify to-and-from. The Character Vault can also be used for this but Transmogrify method is quicker. Unfortunately the "Archive" folder for Characters is, as Jakob described, not a resource-reliever; however a separate Holding Tank game functions how one might hope that the Archive folder would. Put 'em away in cold storage, get out the ones needed for each session.
1517187080
Ambitosis
Marketplace Creator
Thanks for the help guys. We've nuked the amount of sheets down to ~40 and it's made a world of difference.
Do you clear the chat log entirely every so often?
1517204615
Ambitosis
Marketplace Creator
OldSchoolChris said: Do you clear the chat log entirely every so often? That's something we do regularly between sessions, since we have multiple DMs and we risk them reading spoilers otherwise ;)
1517210378
Gen Kitty
Forum Champion
(Moved this to Specific Questions, since that is more applicable)
Get rid of shaped sheet and try OGL. In my experiemce shaped is a bloated memory hog when it comes to larger campaigns with lots of critters involved.
Ravenknight said: Get rid of shaped sheet and try OGL. In my experiemce shaped is a bloated memory hog when it comes to larger campaigns with lots of critters involved. With over 500 sheets already done, I imagine he's already pretty invested.  Converting a sheet from Shaped to OGL does not work well, if at all, which means that he'd have to re-do every one of those sheets.  Not the kind of job I'd look forward to.
Gozer the Gozerian said: Ravenknight said: Get rid of shaped sheet and try OGL. In my experiemce shaped is a bloated memory hog when it comes to larger campaigns with lots of critters involved. With over 500 sheets already done, I imagine he's already pretty invested.  Converting a sheet from Shaped to OGL does not work well, if at all, which means that he'd have to re-do every one of those sheets.  Not the kind of job I'd look forward to. Totally true.
1517235908
Ambitosis
Marketplace Creator
Ravenknight said: Get rid of shaped sheet and try OGL. In my experiemce shaped is a bloated memory hog when it comes to larger campaigns with lots of critters involved. The main strength of Shaped for us is on the GM side. It allows us to import non-compendium creatures at the touch of a button, which is a massive timesaver. We just didn't consider that having a bunch of sheets would eventually lag, so we deleted most of them and will just reimport monsters as we need them. Players seem to enjoy it too, but it's definitely a resource hog in large scale campaigns. Thankfully we've reduced that.
Distorted said: Ravenknight said: Get rid of shaped sheet and try OGL. In my experiemce shaped is a bloated memory hog when it comes to larger campaigns with lots of critters involved. The main strength of Shaped for us is on the GM side. It allows us to import non-compendium creatures at the touch of a button, which is a massive timesaver. Exactly why I use it.  Others have different opinions, and both sheets have their pluses and minuses, but that was what ultimately made me choose Shaped vs OGL.