Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Are VFP cached
Message
De
17/12/2003 12:55:08
 
 
À
15/12/2003 09:48:19
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Titre:
Divers
Thread ID:
00858740
Message ID:
00859996
Vues:
21
Hi Tracy,

>Once the form is instantiated the first time, when the user selects to close the form I hide it instead. Then everytime the user opens the form again it is just made visible so it is instantaneous.
The approach speeds up the already opened forms - no discussion there.
But it ***still*** is a double- or triple edged sword, with a few hooks cut into the edges <g>.
In ***some*** scenarios it can seriously slow down your app - even if the forms are showing instantly. The catch is, that VFP's object creation and release time will be take longer if you have more objects defined. I believe you are porting to VFP8 - this version is much more scalable in object numbers than VFP6 was.

With forms, the limit where formcreation takes MUCH longer is still lower, but forms hurt much more than other objects.

We had "forms" with more than 500 databound controls including the roles of the persons involved. Add a few labels (possibly 500 as well) a few containers to make things reusable and you have well over 1000 object just for the GUI. Add at least 100 object for the business tier (including data access objects for combo boxes, grids and so on) and you will get into trouble with VFP 6 if you have too many large forms open. Any code creating "work objects" which are destroyed very soon (parameter objects are VERY bad here - but they were not my way of doing things anyhow and put there by a "well-meaning OOP guy") gets a real slowdown. The ***really*** bad thing is, when you are in a situation where object creation is slowed down, the effects of showing the "cached" form are much bigger, because the creation of the 10th form takes that much longer.

>In some apps, I've even shown a splash screen while loading all forms and hiding them at app startup so that even the first time a user opens a form it appears instantaneous.

I've created a background-loading object cache for some well defined areas of the app as well - it works beautifully, even if it is a bitch to debug. You just have to keep the flip side in mind...

But since it is possible for the USER to keep many forms open, so that business processing with parameter objects gets hindered, I had to come up with a creative solution to speed things in this existing framework up (this app is still in VFP6). So now there are 2 stacks of parameter objects (one for the GUI, one for the business tier) which eliminate the need for object creation during business processing.

my 0.02 EUR here: keep an eye an all side effects

thomas
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform