Hi ppl
I have a 18 fields ACF module, full of tabs for making step configurations & gather options per group.
Also i added some conditional logic for displaying blocs options.
All that mixed, i get the same problems…
I noticed that all performances issues i get, comes from AJAX requests that timeout & behaviors associated on the client side.
Here is AN IDEA on how you could handle that for making BETTER performance with your ACF module :
On load, parse arrays of modules & instanciate them like this :
> Module is in a Tab ?
1. Yes : Is it the default TAB ?
1.1. Yes : conditionalLoad()
1.2. No : wait the tab has focus for conditionalLoad()
2. No : conditionalLoad()
THEN, conditionalLoad() check if the field is activated by the conditional logic
You can also add another layer of performance optimisation : load a module WHEN it is also in viewport (tabLoad() > conditionalLoad() > inViewportLoad())
I use flexible but also repeater fields with rows or blocs that have each SELECT field 😉 so imagine what i have…
actually i get 100+ async requests on load… from that !!