Jump to content

Invoking Data Via Visibility


Jarvis

This topic is 1807 days old. Please don't post here. Open a new topic instead.

Recommended Posts

I have been watching and re-watching a web seminar by Mark Richman called "Eight ways to make Filemaker databases run even faster.                            https://www.youtube.com/watch?v=yNRNMgs--T4&spfreload=10

The basic goal is to minimize the  packets of information that need to come down from and go back up to the server.  He makes the statement that "if you can see it or touch it, it invokes the data" .  To this end he advocates for using more layouts with fewer objects per layout.

My question has to do with how visibility factors into this. 

A database I am creating for my cabinet shop has a lot of graphics that are grouped together with fields.  These combined objects are stacked on top of each other then made visible based on the results of a calculated field.

The attached jpeg shows a couple of typical objects.  Only one of these objects is visible at a time.  The entire stack would probably comprise a dozen or so of these objects.

If only one of the objects is visible at a time do the non-visible objects contribute overhead weight to the layout?

Would my database refresh faster if each of these cross-section objects was on it's own layout?

 

 

stack visibility.jpg

Link to comment
Share on other sites

Yours is a good and important question.

One of the best ways to feed the need for speed is to prevented Containers and un-stored calcs from loading until you need to see them.

  • Our testing seems to confirm that Containers and un-stored calcs that are on a Slide Panel that is never activated will NOT load.
  • Putting Containers and un-stored calcs behind a Popover will keep them from loading until popped.
  • The “Hide object when" feature does NOT seem to be as effective in preventing loading.

Let us say that you have an record where you show 1 of 12 images. You might use a Slide Control with 13 Panels where the first panel is empty and you use a script to show 1 of the other 12 panels (and associated layout objects) on demand.

Conversely, I would expect that stacking 12 images would load them all, even if they were behind a “hide object when" calc.

Sometimes we use 1 Layout with a Slide Control with panels of info

Sometimes we use separate Layouts.

Pros and cons to each approach.

Edited by tonywhitelive
Link to comment
Share on other sites

There was an under-the-hood session at a recent DevCon where the engineer from FileMaker stated that object visibility is the first thing evaluated when drawing a layout. If my understanding of this is correct, then Tony's conjecture above is incorrect. I.e., at least in terms of screen redraw you will not incur any performance penalty from hidden objects. However, each hide calculation must evaluate, so that will have a cost -- probably minimal from your example.

Link to comment
Share on other sites

Hi Tom,

We did some testing using the “Hide object when” feature while watching the Top Call Stats that resulted.

The test in question was hiding a portal using a Slide Control, a Popover, and the “Hide object when” feature.

A Slide Control or Popover did NOT produce a query to the related table.

The “Hide object when” feature did.

I plan on speaking with my FMI engineering friends at DevCon to reconcile what has been said with what our testing shows.

Important topic.

Link to comment
Share on other sites

Thank you to everybody for your help here.  I really appreciate it.

I would be curious to learn more about the results of Tony's  retesting of "Hide Object When".

My comprehension of the "Conditional Visibility" section of the article  BCooney pointed to seems to corroborate what Fitch reported.  

CONDITIONAL VISIBILITY

If you use the new feature to hide objects when a formula is true (Conditional Visibility), be aware that it follows the exact same rules as Conditional Formatting. It immediately reevaluates as referenced data changes and as the window is redrawn. No commit or refresh is necessary. Like Conditional Formatting, this is nice, but it can lead to a significant performance impact if there are a lot of conditionally hidden objects on the layout.

Link to comment
Share on other sites

This topic is 1807 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.