If I am understanding correctly, when selecting this option for fields not being displayed due to conditions or if not statements hiding them from the UI, it allows the hidden fields to still be updated even though they are not visible in the UI, and deselecting the Run visibility on client option means the hidden fields won't be updated unless the client communicates with the server to refresh the section.
Is this understanding incorrect?
If it's correct, then the statement on the page " If the hidden content is not likely to change during case processing, select Run visibility condition on client. This reduces the number of server trips and avoids page refreshes." confuses me, as wouldn't you want the content to NOT run if you want to reduce page refreshes/server taxation?
Not quite - whether the "Run visibility on client" option is selected or unselected, the visibility condition is evaluated. So leaving the option deselected forces a refresh and server trip so that the visibility condition is evaluated. Does that make sense?
If this is enabled, the visibility condition fires on the client side. So at runtime, the section code comes with a markup added to the hide/show part of the screen based on the condition. If this field is disabled, the section code does not contain the hidden part and it requires that the section is refreshed which means communicating with the server to get the hidden part where the condition is satisfied.
Hence, selecting the run on client option reduces the number of server trips, but the HTML delivered to the browser is larger since it contains the extra markup. Therefore, we should try to optimize the number of server trips with the extra payload size for our particular use case.