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 .
×

VTT Performance: What We’ve Fixed and What’s Coming Next

Hello there! Many of you may already know me, but if not, I'm Lavi - Product Manager for the Roll20 Tabletop Team! In his recent post, our CTO Mike talked about the broader initiative across the company to improve performance , and the Demiplane team also shared an update on their journey . This blog aims to share what the Virtual Tabletop team is contributing through performance work, focusing on making your games run smoother, feel more responsive, and stay reliable from start to finish. As he mentioned in his blog, performance issues can show up in your games in different ways depending on how you play, as:  a slow buildup over a long session actions within the game are taking longer than expected things feel a little less snappy than they should  To better connect our work to what you’re actually experiencing first-hand, we’ve grouped our recent improvements into categories below based on impact. Faster Load Times and Smoother Gameplay Graphics Updates: To kick off 2026, our team has been rolling out graphics updates in phases that reduce how hard your machine is working to render your game. As a result, games containing detailed maps, lots of tokens, Dynamic Lighting, and layered assets are seeing faster loading, smoother motion, and fewer slowdowns when panning, zooming, or interacting with the map. (Note: toggle on/off: VTT Settings > Graphics > Enable Performance Enhancements). Example: We tested Tomb of Annihilation’s “Players Map of Chult” across a variety of devices, and on an average mid-range laptop (2022 Macbook Air), we saw:  a reduction in the amount of rendering work per frame (draw calls) by nearly 10x overall smoothness, improving from around 40 frames per second (FPS) to closer to 150!  While these improvements are working well for the vast majority of both players and GMs, there might be some people who still experience problems. We’re working with this small group of users to chase down the few lingering edge cases with this setting, especially as it relates to drawings on the Tabletop. Once we’re confident we’ve caught the weird stuff, we’ll be rolling in the remaining performance updates for “drawings” and make this the default for everyone. Memory Leaks Our team found that, over time, certain actions left small traces of data in the background of campaigns without fully cleaning up after themselves, impacting performance (more formally referred to as “memory leaks”). That buildup can compound and contribute to a slowdown or a feeling of sluggishness over a game session. We addressed two major sources of this in the last couple of weeks (and some others): Repeatedly opening Advanced Character Sheets (like the D&D 2024 sheet) Switching pages (especially between large pages with lots of tokens) For each, we reduced the memory used during both the first time the action was taken in-game and all subsequent times it was taken. Plugging the Advanced Sheet leak alone reduced memory usage 46%, and any subsequent time the sheet was reloaded by 77%. This chart shows some of the other improvements made: Now, we’re actively addressing a parallel memory leak affecting our Legacy Character Sheets (like the D&D 2014 Sheet), which will reduce performance slowdowns even more across all games. Faster, More Reliable Uploads Whether it’s maps, character tokens, or custom assets, uploading your own art to the Tabletop is a core part of the Roll20 experience. It’s what lets you shape your world, express your style, and run games exactly the way you want. To keep that experience fast and responsive, our upload process generates multiple optimized versions of each image behind the scenes. This allows the VTT to use the right version at the right moment, whether you’re zoomed in on a single token or viewing an entire map. For example, when you zoom out, and there are dozens (or even hundreds) of tokens on screen, we can swap in smaller, lighter versions so everything continues to run smoothly. It’s a similar approach to how video games adjust detail at different distances, helping reduce the load on your device while keeping gameplay seamless. Over the last month, we pushed out improvements to the upload process that have very real impacts on upload speed and success rate: Enhanced image upload retry logic with automatic retries at each stage of the upload process, reducing upload failures by 35%. Optimized the image processing pipeline to pass through original source formats (instead of converting to PNG) when an image doesn’t require resizing. On a throttled connection with a JPEG sample, this reduced upload time by 3x. Optimized the animation processing pipeline to pass through WebM animation files, avoiding unnecessary processing and resulting in 30-50%+ faster upload speeds (depending on the exact file size and connection speed). Introduced several other process improvements that together cut image upload times by several seconds: reduced signing requests from one per variant to a single request for all  updated image processing during upload so files are handled once instead of multiple times to create size variations improved upload queues to adapt to connection quality and error conditions In addition, we upgraded internal analytics and monitoring, which will also let us track and catch performance trends and issues over time, and help us troubleshoot issues with individuals when things go wrong. We have a couple more improvements tee’d up to make uploads even faster, including converting all image uploads to a lossless WebP file. Clearer Guidance In-Game As Mike mentioned in his post, “performance isn’t a single thing.” It can show up differently depending on your hardware, browser, connection, game size, system, extensions, and more. Alongside improving performance itself, we’re focused on making the experience easier to understand when something doesn’t go as expected, so you have clear, actionable guidance to get things back on track quickly. We’ve already made a number of improvements here, including: more helpful notifications (or next steps) when something is taking longer than expected.  clearer status messaging during uploads better visibility into file size and storage limits making it easier to share details with our Customer Service team, so you get help faster when something is wrong We’ve also updated the articles in our help center to cover third-party interactions that can have a negative impact on performance, like browser extensions (including password managers). Next up, we’ll be adding more visibility to your storage usage and file upload limits before you upload new assets, so that you know exactly how much space you have available up front. Next Steps Some of the improvements mentioned above have already been released, and others are in progress as we speak. Performance work, as previously mentioned, is both iterative and ongoing, but we’ve had enough sustained focus over the last several months that we wanted to make sure you knew what was happening behind the scenes, and why. To keep an eye on our work at any given time, check out the shared public roadmap . You’ll be hearing more from our partner teams working on character sheets/management, plus other important projects in the coming months. Thank you to everyone who has kept playing and speaking up when your games aren’t running the way you need them to; you can always reach out to our support team to request troubleshooting if things aren’t feeling right in your games. It helps make the best versions of the tools you need to play.
Will the Jukebox get an Update any time soon? It is nice that now Uploads greater than 20 MB are possible, but reordering Playlists etc. is STILL not possible. Also Highlighting in game (when one want to add a track to a game or a playlist) is stuck on "add to game"...
Thanks for raising your struggles with the Jukebox. With a few larger projects now wrapped up (like Map Pins), the VTT team's current focus is improving performance and reducing friction for GMs and players.&nbsp; The number of improvements we could potentially implement in service of this goal is near infinite. We always want to improve, and the needs of the community are ever-evolving. To ensure we’re putting our effort and resources behind the right projects, we're constantly reprioritizing based on need, impact, and a number of factors that are harder to see from the outside (dependencies between systems, opportunities to bundle related work, complications involving what other teams are working on, etc.) For the clearest picture of what's currently on any team’s radar, we have a public roadmap that shows what’s in progress, recently finished, and roadmapped for the near future.&nbsp; To speak directly to your questions regarding the Jukebox: that work isn’t prioritized right now, in part because the volume of requests for it has been relatively small. Since it seems to impact your games directly, upvoting Jukebox improvements on the Suggestions &amp; Ideas forum (and encouraging others who care to do the same) is the most effective way to help us see the demand and bump it up the list of priorities.&nbsp; In the meantime, Keith Curtis built a great mod script called Jukebox Plus that fills a lot of the gap with better playlist management, really cool “Now Playing” chat announcements, and more additions to the native tool. We highly recommend you check that out if you haven’t yet: <a href="https://blog.roll20.net/posts/jukebox-plus" rel="nofollow">https://blog.roll20.net/posts/jukebox-plus</a> &nbsp; TheMarkus1204 said: Will the Jukebox get an Update any time soon? It is nice that now Uploads greater than 20 MB are possible, but reordering Playlists etc. is STILL not possible. Also Highlighting in game (when one want to add a track to a game or a playlist) is stuck on "add to game"...
It is just funny to see / read that the YEARS OLD Highlighting Bug (and others for that matter), that are KNOWN to the Team have NOT been fixed ever since! (Regardless of all the other Improvements that could be implemented)! And YES, I could use the Script by Keith to "improve" the Jukebox, but I am not going to... I do understand your point of implementing other more highly requested features first, BUT then there are MULTIPLE Features in the Suggestions Forum, that have far over 100 it not 1000 Votes (and that for a while now), that have NEVER been touched by Roll20! They don't even have an official Response... AND in some cases, there are MULTIPLE of those Threads covering the SAME topic... To make better use of the "Suggestions" Forum, HOW about adding TAGS thar are required to set during creation of the thread AND to be able to SEARCH for those Tags specifically? Lavi said: Thanks for raising your struggles with the Jukebox. With a few larger projects now wrapped up (like Map Pins), the VTT team's current focus is improving performance and reducing friction for GMs and players.&nbsp; The number of improvements we could potentially implement in service of this goal is near infinite. We always want to improve, and the needs of the community are ever-evolving. To ensure we’re putting our effort and resources behind the right projects, we're constantly reprioritizing based on need, impact, and a number of factors that are harder to see from the outside (dependencies between systems, opportunities to bundle related work, complications involving what other teams are working on, etc.) For the clearest picture of what's currently on any team’s radar, we have a public roadmap that shows what’s in progress, recently finished, and roadmapped for the near future.&nbsp; To speak directly to your questions regarding the Jukebox: that work isn’t prioritized right now, in part because the volume of requests for it has been relatively small. Since it seems to impact your games directly, upvoting Jukebox improvements on the Suggestions &amp; Ideas forum (and encouraging others who care to do the same) is the most effective way to help us see the demand and bump it up the list of priorities.&nbsp; In the meantime, Keith Curtis built a great mod script called Jukebox Plus that fills a lot of the gap with better playlist management, really cool “Now Playing” chat announcements, and more additions to the native tool. We highly recommend you check that out if you haven’t yet: <a href="https://blog.roll20.net/posts/jukebox-plus" rel="nofollow">https://blog.roll20.net/posts/jukebox-plus</a> &nbsp; TheMarkus1204 said: Will the Jukebox get an Update any time soon? It is nice that now Uploads greater than 20 MB are possible, but reordering Playlists etc. is STILL not possible. Also Highlighting in game (when one want to add a track to a game or a playlist) is stuck on "add to game"...
Lavi said: Thanks for raising your struggles with the Jukebox. With a few larger projects now wrapped up (like Map Pins), the VTT team's current focus is improving performance and reducing friction for GMs and players. ... I still don't have full functionally in my Map Pins. I have submitted an error report and got the reply that they have been able to reproduce it but it is still broken after weeks of me waiting. I hope that the devs have not given up and called it done.&nbsp;
TheMarkus1204 said: It is just funny to see / read that the YEARS OLD Highlighting Bug (and others for that matter), that are KNOWN to the Team have NOT been fixed ever since! (Regardless of all the other Improvements that could be implemented)! And YES, I could use the Script by Keith to "improve" the Jukebox, but I am not going to... I do understand your point of implementing other more highly requested features first, BUT then there are MULTIPLE Features in the Suggestions Forum, that have far over 100 it not 1000 Votes (and that for a while now), that have NEVER been touched by Roll20! They don't even have an official Response... AND in some cases, there are MULTIPLE of those Threads covering the SAME topic... To make better use of the "Suggestions" Forum, HOW about adding TAGS thar are required to set during creation of the thread AND to be able to SEARCH for those Tags specifically? I think it’s important to call out that when Roll20 staff post about how we approach development and prioritization today, we're speaking to where we are in 2026. You've been on Roll20 longer than some of our team has worked here, which is amazing, but also results in compounded frustrations based on decisions made in the past that we didn't have control over. We hear you, truly, and understand why you feel like Roll20 isn’t listening, but we can assure you, we are. Over the past couple of years, we've leaned harder into community-focused development than ever: more research, communication, and even incorporating feature betas that ensure GM and Player feedback shapes the final versions of tools we release. Every team's roadmap is stack-ranked based on demand, impact, and our commitment to reducing friction for as many people as possible. Do we want to clear out the S&amp;I forum and answer every single request? Of course! Do we all want better tagging and search on that forum, which we agree… feels ancient? Yes! But the reality is, even that development work is prioritized against everything else we want to do, so no matter what the stack looks like, there will always be things that don't make the list.
Hultz (Keeper of Secrets) said: I still don't have full functionally in my Map Pins. I have submitted an error report and got the reply that they have been able to reproduce it but it is still broken after weeks of me waiting. I hope that the devs have not given up and called it done.&nbsp; What's your ticket number? We'll look into it and give you an update.&nbsp;
Jayme said: Hultz (Keeper of Secrets) said: I still don't have full functionally in my Map Pins. I have submitted an error report and got the reply that they have been able to reproduce it but it is still broken after weeks of me waiting. I hope that the devs have not given up and called it done.&nbsp; What's your ticket number? We'll look into it and give you an update.&nbsp; 460844
1777580941

Edited 1777581021
Jayme said: Over the past couple of years, we've leaned harder into community-focused development than ever: more research, communication, and even incorporating feature betas that ensure GM and Player feedback shapes the final versions of tools we release. Every team's roadmap is stack-ranked based on demand, impact, and our commitment to reducing friction for as many people as possible. Sadly, too late for the Demiplane "integration". Seriously, nothing has made GMing more of a pain that Demiplane and the new D&amp;D sheet breaking the ability to create token bar macros that work.
1) Playing flag does not reliably reflect reality Need: playing should automatically flip to false when a non-looping track naturally ends (and this should be consistent). 2) No “track ended” event / callback for API scripts Need: Emit an event when a jukebox track ends (or errors) with track id and metadata. 3) No duration/length metadata exposed to the API Need: Expose duration (and ideally currentTime or position) for each track. 4) No playback position/time controls Need: Add readable currentTime and writable currentTime (seek) or at least read-only position. 5) Softstop semantics unclear / insufficient for SFX Need: Add support for multiple instances of the same SFX (virtual instances), or provide a restart/retrigger flag that reliably restarts from 0 and plays once. 6) No API-visible “is actually audible” indicator Need: A truthy signal from the audio engine like isAudible, isActive, or playbackState (playing, ended, stalled, etc.) 7) Inadequate documentation of jukeboxtrack fields &amp; guarantees Need: Document all jukeboxtrack properties (readable/writable), lifecycle, event timing, and any known limitations. 8) No Mass Track Management Needed: Interface for editing, adding, remove tracks on a scale that's not one at a time.
Thanks Aaron - we are tracking a majority of these already, and made a few additions to our list for future API-related improvements. Aaron S. said: 1) Playing flag does not reliably reflect reality Need: playing should automatically flip to false when a non-looping track naturally ends (and this should be consistent). 2) No “track ended” event / callback for API scripts Need: Emit an event when a jukebox track ends (or errors) with track id and metadata. 3) No duration/length metadata exposed to the API Need: Expose duration (and ideally currentTime or position) for each track. 4) No playback position/time controls Need: Add readable currentTime and writable currentTime (seek) or at least read-only position. 5) Softstop semantics unclear / insufficient for SFX Need: Add support for multiple instances of the same SFX (virtual instances), or provide a restart/retrigger flag that reliably restarts from 0 and plays once. 6) No API-visible “is actually audible” indicator Need: A truthy signal from the audio engine like isAudible, isActive, or playbackState (playing, ended, stalled, etc.) 7) Inadequate documentation of jukeboxtrack fields &amp; guarantees Need: Document all jukeboxtrack properties (readable/writable), lifecycle, event timing, and any known limitations. 8) No Mass Track Management Needed: Interface for editing, adding, remove tracks on a scale that's not one at a time.
Lavi said: To speak directly to your questions regarding the Jukebox: that work isn’t prioritized right now , in part because the volume of requests for it has been relatively small . Since it seems to impact your games directly, upvoting Jukebox improvements on the Suggestions &amp; Ideas forum (and encouraging others who care to do the same) is the most effective way to help us see the demand and bump it up the list of priorities.&nbsp; Hi Lavi... just curious about your statement underlined above...that Jukebox work isn't being prioritized because the requests numbers are small.&nbsp;&nbsp; Is it possible the request numbers are small in some part, whether large or small, are due to the current state of functionality of Jukebox?&nbsp; If most users are finding Jukebox (in its current form) too hard to work with...then they naturally shift away from it, like a tool that doesn't quite do what you want so you find something else that does.&nbsp; This could very well account for the low interest as there doesn't seem to be interest from Roll20 proper on the subject. I would think that Roll20 would want to incorporate sound effects and background music into game play.&nbsp; I liken it to watching a movie scene with the sound on versus off.&nbsp; The off-version doesn't quite hit the same way as the on-version does as we humans evolved with sound and music.&nbsp; I would strongly encourage Roll20 decision makers to reevaluate sidelining a whole other user experience (audibility) in gaming and to consider expanding the audio-side of gaming that maybe a table-top might struggle to emulate.&nbsp; Lastly, I would direct you to whole sector of business that focus solely on producing sounds for gaming.&nbsp; Roll20, in fact, already has partnerships with some of them...like Tabletop Audio, Battle Bards, and Incompetech.&nbsp; All that is really needed is to make it easier, faster, snappier, and perhaps a little smarter.... with pre-set up triggers, or quick-on the fly additions that the GM can add into a game.&nbsp;&nbsp; Thank you for all you do for the gaming community.
1777693915
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
To give some insight to that last point. Since I have been using Roll20 they have been bitten badly by sound producers twice. Basically, making licensing deals from companies that went bankrupt and vanished, leaving player without their sound libraries, and Roll20 holding the bag.
keithcurtis said: To give some insight to that last point. Since I have been using Roll20 they have been bitten badly by sound producers twice. Basically, making licensing deals from companies that went bankrupt and vanished, leaving player without their sound libraries, and Roll20 holding the bag. I've experimented with using sound effects and ambience tracks in my game: the usual first reaction from my players has been "hey that's pretty cool" ... then I find out that by the second or third session most of them have muted the audio because they find it too distracting. &lt;shrug&gt; Different groups like different experiences.