Jump to content

Slow response on mobile device when clicking menu, notifications, reactions during initial page load


Recommended Posts

I know some of this is the nature of mobile vs desktop related hardware and network, but are there any other areas I can look to tune for getting more responsiveness out of the hamburger menu, notifications, and reactions popups?  Seems like on mobile, these are really slow to popup when clicked.  I can't tell if it's a server resource issue, a config issue, or simply a device/network issue.

Any suggestions on where to look would be great!

Link to comment
Share on other sites

Keep in mind that anything that you load on your page on a mobile device is going to delay interaction. You have quite a few advertisements which can cause slowness waiting for them to load and/or as they are interactive advertisements going to be heavier too for mobile users' devices

 

Link to comment
Share on other sites

24 minutes ago, Jim M said:

Keep in mind that anything that you load on your page on a mobile device is going to delay interaction. You have quite a few advertisements which can cause slowness waiting for them to load and/or as they are interactive advertisements going to be heavier too for mobile users' devices

 

Understood.  I did push the primary ads from async to deferred loading.  I also eliminated some ad JS from other networks where maybe the cost (performance degradation to members) to benefit (revenue) wasn't worthwhile.  That definitely knocked down blocking time.  There is something else that is holding up interactions that I'm tracking down, I see it on mobile where the page has not fully loaded and the menus, link clicks, etc don't respond as result OR they respond very laggy (likely due to resource/bandwidth contention).  

 

Link to comment
Share on other sites

17 minutes ago, Joel R said:

You may want to ping providers like @ASTRAPI or @Driven 2 Services who specialize in hosting.  

Is your mobile site slower than, say, IPS or another Invision site like Cruise critic? 

I occasionally see similar menu lag here on the IPS site but not as bad or frequent as on mine. But IPS isn't running ads or much third party JS.  I'll try to locate some other IPS sites to compare 👍

Link to comment
Share on other sites

There are so many different reasons a mobile version might be slower.

Try this on desktop Chrome:

Menu -> More Tools -> Developer Tools -> Network tab

Change the throttle to Fast 3G.  Put the view into a phone view.  Now load your site.  Is the menuing slow?  Turn off throttling, reload and try the menu again.  Is it fast?

Link to comment
Share on other sites

1 hour ago, Driven 2 Services said:

There are so many different reasons a mobile version might be slower.

Try this on desktop Chrome:

Menu -> More Tools -> Developer Tools -> Network tab

Change the throttle to Fast 3G.  Put the view into a phone view.  Now load your site.  Is the menuing slow?  Turn off throttling, reload and try the menu again.  Is it fast?

In Fast 3G, the longer running server-sided assets are taking anywhere from 2 seconds to almost 6 seconds:

root_front.js: 2.74 seconds
root_framework.js: 5.32 seconds
root_library.js: 5.33 seconds
/uploads/themes/set_resources_2/6124cbf62e7d0ac97bcb319cb54179a7_fa-solid-900.woff2:  5.85 seconds

With no throttle, they're all under 100ms.

The timings above for the Slow 3G do align with the relative time it takes for the menu to become responsive.  There are a lot of clicks that are taken in that time period that just don't register, I'd imagine because the page hasn't completed loading all of it's assets.  The painting of even the small icons and avatar images is also gradual top down fill-in.

Link to comment
Share on other sites

Based on this, I'm inclined to think that even if you have fast transfer rates for your wireless connection with 4G or 5G speeds, there's probably a lot of latency on the connection.  Sometimes this is from many people sharing the same local tower.

One thing that can help is making sure your web server supports HTTP/2 connections.  One of the goals with HTTP/2 was reducing latency with wireless connections.  Brotli compression will help somewhat as well.  If these settings are not available to you (generally you need a dedicated server or VPS), then if you're not using Cloudflare I highly recommend considering it.

The free tier is more than sufficient for most forums, and includes HTTP/2 as well as Brotli.

Link to comment
Share on other sites

1 hour ago, Driven 2 Services said:

Based on this, I'm inclined to think that even if you have fast transfer rates for your wireless connection with 4G or 5G speeds, there's probably a lot of latency on the connection.  Sometimes this is from many people sharing the same local tower.

One thing that can help is making sure your web server supports HTTP/2 connections.  One of the goals with HTTP/2 was reducing latency with wireless connections.  Brotli compression will help somewhat as well.  If these settings are not available to you (generally you need a dedicated server or VPS), then if you're not using Cloudflare I highly recommend considering it.

The free tier is more than sufficient for most forums, and includes HTTP/2 as well as Brotli.

Thank you.  Yeah this is a high traffic area of the Northeast US, so large numbers of people sharing the same local tower is very common.

I do use Cloudflare for both of my sites, one is on the Pro plan and the other on the Free.  All of these are enabled for them.

  • HTTP/2    
  • HTTP/3    
  • HTTP/2 to Origin    
  • Enhanced HTTP/2 Prioritization  (Pro plan only)
  • Brotli    
  • 0-RTT Connection Resumption    
  • Always use HTTPs    
  • TLS 1.3    
The main one I make sure I disable is Rocket Loader.
 
I think the main thing I'm troubleshooting right now are the ads JS own third party calls.  Regardless of using defer or async on the parent ads JS, I see a commonality of some third party calls (to other JS, gifs, etc) made by the ads JS at runtime that take long periods of time before they complete or fail.  I'll note the browser status bar is still waiting to complete until these finish and during that time the menus, link clicks, reactions, etc are impacted and either unresponsive or slow to respond (and not very snappy when they do appear).  For the PWA since there is no status bar, it just hangs there like maybe you didn't click or maybe you tried to click but misclicked but in reality it's all just lagging but you have no way of knowing that.

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...