RESOLVED tl;dr: I was having performance issues controlling many tokens with Nightvision, but it turns out my laptop (Surface Book 2) was using the integrated GPU. Forcing the browser to use the discrete GPU results in drastically better performance, even with at least a dozen Nightvision tokens and obstacles everywhere! Instructions for other laptop users who might have a discrete graphics card are at the bottom! Thanks so much! Hi there! I just wanted to drop in to say that I'm migrating to primarily use Roll20 for my Out of the Abyss campaign (as lots of people are), and I had a largely great experience using Updated Dynamic Lighting last night (I hadn't used the Legacy system before, so I don't have a lot of skin in comparing them ). The only real problem I hit was in performance on my end: since it's OotA, 4 of my 5 players have Nightvision, which seemed to be enough to degrade performance for me (intermittently laggy token movements). My players didn't notice, though! I've included a bug report below, although my understanding looking at the Legacy docs is that this is expected for the GM when several tokens have Nightvision, and that the advice is to not separately give Nightvision to every enemy NPC. I'll keep that in mind next time! Perhaps it would also improve things if I couldn't control the player tokens? Other feedback I also understand that the "Update on Drop" option form the Legacy system is still on the TODO list. That sounds like it'll improve things on my end substantially! Looking forward to it If I had one feature request, it would be for me to allow my players to have "Update on Drop Only" turned off while I keep it on. For performance reasons it would be great for me to have it turned on, but my players were really wowed by being able to move things in real time and really engaged with the darkness aspects of the campaign. It doesn't bother me combat-wise to have a difference in perspectives here, so it'd very much be me having my performance cake and... eating it... something. Anyway. Not a dealbreaker by any means (if it isn't possible, I'll just turn it on for us all when it becomes possible and everyone will still have fun), but I thought I'd mention it! Anyway, thanks again! I know this system is still in-development, and I didn't have a 100% pain-free experience with it, but it looks amazing and my players are loving it. Bug report What you were trying to do: move tokens on a map (25x25) where five player tokens had nightvision. Four of these tokens were controller by one player each; one player had a "companion" token with nightvision that they also controlled. I could control all player tokens. What happened: sometimes worked smoothly, but often lagged, or the browser tab would become unresponsive for 30-60 seconds. Usually fixed by reloading the tab, if that is possible. Only occured on my system, not any of my players' (they consistently had smooth performance as they moved their tokens around. Steps to Reproduce: create a new map (25x25 by default), draw polygons on the Dynamic Lighting layer (a few dozen vertices total), drag five controllable tokens with night vision on the map, draw two tokens that emit 15 ft bright light/30 ft. dim light on the map. Try to move nightvision tokens around. Browser & OS info: Edge (Chromium) v.83.0.478.10 (Dev) on Windows 10 2004 (Insider Slow Ring), build 19041.207. I was also using the Beyond20 and Touch20 browser extensions, although I still experienced this behaviour when disabling them and reloading. Is WebGL supported by your browser? Platform: Win32 Browser User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.14 Safari/537.36 Edg/83.0.478.10 Context Name: webgl GL Version: WebGL 1.0 (OpenGL ES 2.0 Chromium) Shading Language Version: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium) Vendor: WebKit Renderer: WebKit WebGL Unmasked Vendor: Google Inc. Unmasked Renderer: ANGLE (Intel(R) UHD Graphics 620 Direct3D11 vs_5_0 ps_5_0) Antialiasing: Available ANGLE: Yes, D3D11 Major Performance Caveat: No Vertex Shader Max Vertex Attributes: 16 Max Vertex Uniform Vectors: 4096 Max Vertex Texture Image Units: 16 Max Varying Vectors: 30 Best float precision: [-2127, 2127] (23) Transform Feedback Coming in WebGL 2 Rasterizer Aliased Line Width Range: [1, 1] Aliased Point Size Range: [1, 1024] Fragment Shader Max Fragment Uniform Vectors: 1024 Max Texture Image Units: 16 float/int precision: highp/highp Best float precision: [-2127, 2127] (23) Framebuffer Max Color Buffers: 8 RGBA Bits: [8, 8, 8, 8] Depth / Stencil Bits: [24, 8] Max Render Buffer Size: 16384 Max Viewport Dimensions: [32767, 32767] Textures Max Texture Size: 16384 Max Cube Map Texture Size: 16384 Max Combined Texture Image Units: 32 Max Anisotropy: 16 Uniform Buffers Coming in WebGL 2 Supported Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_disjoint_timer_query EXT_float_blend EXT_frag_depth EXT_shader_texture_lod EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic WEBKIT_EXT_texture_filter_anisotropic EXT_sRGB KHR_parallel_shader_compile OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBKIT_WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBKIT_WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context WEBKIT_WEBGL_lose_context Game Link: <a href="https://app.roll20.net/campaigns/details/5755445/out-of-the-abyss" rel="nofollow">https://app.roll20.net/campaigns/details/5755445/out-of-the-abyss</a> Game Settings I turned Video Chat off because it doesn't seem to be compatible with the Touch20 (even when I had that extension disabled). Map Settings Are you using Legacy or Updated? Updated Were you using Explorer Mode or not? No Were you using Daylight Mode or not? No Token Settings What kinds of light and vision were utilized on tokens? (bright light, low light, night vision, regular vision) Five controllable tokens with: vision, 60 ft. night vision Two tokens with: vision, 15 ft bright light/30 ft. dim light Do you have Hardware Acceleration turned On or Off in your browser or system: In edge://system/settings, "Use hardware acceleration when possible" is enabled. Additionally, this setting in edge://flags was enabled: Accelerated 2D canvas Enables the use of the GPU to perform 2d canvas rendering instead of using software rendering. – Mac, Windows #disable-accelerated-2d-canvas (This could be a difference between Chrome and Edge Chromium! I'll endavour to see if this occurs in Chrome too). EDIT: one thing I'd note reviewing the WebGL report is that I'm using a Surface Book 2. I'm surprised to see the WebGL report my renderer as the Intel(R) UHD Graphics 620, since my Surface Book also has a discrete GPU (and I'd have thought my power settings would allow it to be used, since I was playing Destiny 2 on it earlier in the day). Not sure if there's anything I can do to encourage WebGL to use the discrete GPU---it's not like I'm GMing from a cafe, so if I can get a performance increase using the discrete one, that's fine by me! EDIT #2: yup, that was it! I had to go to Start > Graphics settings to force my browser to use the discrete GeForce card. Once I did that and restarted my system (I have installed Edge apps, so simply restarting the browser didn't actually switch the setting) caused WebGL to report my GeForce card, and performance is now fantastic even when heaps of tokens have Nightvision. This is all working perfectly for me now! I leave the bug report up in case it helps the dev team (I've pasted in another WebGL report with the updated GPU below), and here's a screenshot of my Graphics settings in case other laptop users need to check which GPU is being picked up. Updated WebGL report Platform: Win32 Browser User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.14 Safari/537.36 Edg/83.0.478.10 Context Name: webgl GL Version: WebGL 1.0 (OpenGL ES 2.0 Chromium) Shading Language Version: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium) Vendor: WebKit Renderer: WebKit WebGL Unmasked Vendor: Google Inc. Unmasked Renderer: ANGLE (NVIDIA GeForce GTX 1050 Direct3D11 vs_5_0 ps_5_0) Antialiasing: Available ANGLE: Yes, D3D9 Major Performance Caveat: No Vertex Shader Max Vertex Attributes: 16 Max Vertex Uniform Vectors: 4095 Max Vertex Texture Image Units: 16 Max Varying Vectors: 30 Best float precision: [-2127, 2127] (23) Transform Feedback Coming in WebGL 2 Rasterizer Aliased Line Width Range: [1, 1] Aliased Point Size Range: [1, 1024] Fragment Shader Max Fragment Uniform Vectors: 1024 Max Texture Image Units: 16 float/int precision: highp/highp Best float precision: [-2127, 2127] (23) Framebuffer Max Color Buffers: 8 RGBA Bits: [8, 8, 8, 8] Depth / Stencil Bits: [24, 8] Max Render Buffer Size: 16384 Max Viewport Dimensions: [32767, 32767] Textures Max Texture Size: 16384 Max Cube Map Texture Size: 16384 Max Combined Texture Image Units: 32 Max Anisotropy: 16 Uniform Buffers Coming in WebGL 2 Supported Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_disjoint_timer_query EXT_float_blend EXT_frag_depth EXT_shader_texture_lod EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic WEBKIT_EXT_texture_filter_anisotropic EXT_sRGB KHR_parallel_shader_compile OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBKIT_WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBKIT_WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context WEBKIT_WEBGL_lose_context