Hot Topic (More than 10 Replies) Application loading/saving (Read 1726 times)
Infinity
Senior Member
Members
*****
Offline


Diagonally parked in a
parallel dimension

Posts: 1290
Location: Massachusetts
Joined: May 27th, 2005
Application loading/saving
Sep 1st, 2006 at 5:57pm
Print Post Print Post  
The other day I imported my Q&A workorder data into my main application, 23,487 records.

It now takes approximately 1 minute for Sesame to open my app.  Is this normal?  I wonder what will happen when I import our 30,618 Invoices.   Undecided

Do any of the manuals explain what is happening when the "Loading/Saving" box is doing it's thing?  I assume that the records are being loaded into memory.  What is being saved?

When I move to Client-Server, will this Loading/Saving process occur on the server or the workstation?  I know that each client will need to wait for the programming to compile when a form is opened for the first time, but will they have to Load/Save too?
  

**
Captain Infinity
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Application loading/saving
Reply #1 - Sep 1st, 2006 at 6:30pm
Print Post Print Post  
Infinity wrote on Sep 1st, 2006 at 5:57pm:
The other day I imported my Q&A workorder data into my main application, 23,487 records.

It now takes approximately 1 minute for Sesame to open my app.  Is this normal?  I wonder what will happen when I import our 30,618 Invoices.   Undecided

Do any of the manuals explain what is happening when the "Loading/Saving" box is doing it's thing?  I assume that the records are being loaded into memory.  What is being saved?

I can't tell you what the manuals say (Alec? Ray?), but when Sesame is loading, it is loading the application file into memory. When it is saving it is saving changes back to the file. If you have made any deletions (whether data records or design deletions), it will save right after it loads. This is Sesame's way of cleaning house. When a record (and everything is a record) in Sesame, is deleted, it isn't actually gone, it is just marked as deleted. It is actually nailed on the next load/save pairing.
Quote:
When I move to Client-Server, will this Loading/Saving process occur on the server or the workstation?  I know that each client will need to wait for the programming to compile when a form is opened for the first time, but will they have to Load/Save too?

All loading and saving is on the server. So if the file has already been loaded, it will not have to be loaded again if a second uses accesses it.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Infinity
Senior Member
Members
*****
Offline


Diagonally parked in a
parallel dimension

Posts: 1290
Location: Massachusetts
Joined: May 27th, 2005
Re: Application loading/saving
Reply #2 - Sep 1st, 2006 at 6:48pm
Print Post Print Post  
Quote:
when Sesame is loading, it is loading the application file into memory. When it is saving it is saving changes back to the file. If you have made any deletions (whether data records or design deletions), it will save right after it loads. This is Sesame's way of cleaning house. When a record (and everything is a record) in Sesame, is deleted, it isn't actually gone, it is just marked as deleted. It is actually nailed on the next load/save pairing.

Ah, good.  The reason the "Save" portion is taking a bit of time is that I am, in fact making constant changes in design.  So this should diminish once the app is put into use, as redesign will be less frequent, and record deletions very rare.
Quote:
All loading and saving is on the server. So if the file has already been loaded, it will not have to be loaded again if a second uses accesses it.

Excellent news, thank you very much.
  

**
Captain Infinity
Back to top
IP Logged
 
carsten
Junior Member
**
Offline


Carpe Diem

Posts: 74
Location: Germany
Joined: Aug 24th, 2005
Re: Application loading/saving
Reply #3 - Sep 2nd, 2006 at 5:03pm
Print Post Print Post  
I have a database with currently arround 20k records. There is no difference in load time whether I run the client localy (on the server) or via the WAN. This was also one of my main concerns, but: Well done Lanticans.

The only thing one has to be careful with is the use of Lookups and ForceRedraw. These do take considerably longer on a remote client and can cause some wait time. At least when you are using ADSL ( 2MBits, 256kBits) as in my case.

  

Carsten&&The Houseman&&"Smiling improves your face value"&&"A Clean House is a Sign of a Wasted Life"&&"Rather Big and Hard then Micro and Soft"
Back to top
 
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Application loading/saving
Reply #4 - Sep 2nd, 2006 at 5:16pm
Print Post Print Post  
Any of the "X" commands will take longer through a slow network, but the first one (which causes the engine to load the external application) will take longer because it must load the app from the file. It is often a good idea to "pre-load" the app before the first XLookup so as to get the delay out of the way before your clients need it.

The ForceRedraw takes place entirely on the client and does not use the net (or the server) at all.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
carsten
Junior Member
**
Offline


Carpe Diem

Posts: 74
Location: Germany
Joined: Aug 24th, 2005
Re: Application loading/saving
Reply #5 - Sep 2nd, 2006 at 5:33pm
Print Post Print Post  
Thanks for the hint concerning ForceRedraw. I thought it was causing some delay in my application. I will now check again and see whether anything else is triggered in this routine and causes the flicker.
  

Carsten&&The Houseman&&"Smiling improves your face value"&&"A Clean House is a Sign of a Wasted Life"&&"Rather Big and Hard then Micro and Soft"
Back to top
 
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Application loading/saving
Reply #6 - Sep 2nd, 2006 at 5:40pm
Print Post Print Post  
If you have a larger form and call ForceRedraw frequently it can cause flicker. Sesame's window is "double buffered", this means that it is really drawing on a hidden window, and then when the drawing is complete, it copies that window to surface. This, in general, prevents flicker, because the entire window gets refreshed in one fell swoop.

But in the case where ForceRedraw is called frequently and there is a lot to redraw, the ForceRedraw will cause the back buffer to forced to the visible window before the back buffer is complete. That will cause flickering. Always try a routine without the ForceRedraw and make sure it is necessary. And as you design, it is a good idea to comment out ForceRedraws to see if they are all still necessary. Often it is the case that one well placed ForceRedraw can "sum up" several previous calls.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
carsten
Junior Member
**
Offline


Carpe Diem

Posts: 74
Location: Germany
Joined: Aug 24th, 2005
Re: Application loading/saving
Reply #7 - Sep 2nd, 2006 at 5:42pm
Print Post Print Post  
Thanks again, I will try this out!

There are a lot of new issues like this coming up with my application now since it is in the going-live phase at the minute and I am now testing it via the net extensively.
  

Carsten&&The Houseman&&"Smiling improves your face value"&&"A Clean House is a Sign of a Wasted Life"&&"Rather Big and Hard then Micro and Soft"
Back to top
 
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Application loading/saving
Reply #8 - Sep 2nd, 2006 at 5:56pm
Print Post Print Post  
Typically, if you are seeing a lot of flickering, it is due to too many Goto or ThrowFocus statements. Often, if an app is coming from Q&A, Gotos were used to cause programming to run, rather than using subroutines or user defined functions. In Sesame, this can cause a "pinball" effect, as the cursor and chunks of data, are moved around on the screen. In Sesame, Goto and ThrowFocus should only be used to move the cursor (and then only if absolutely necessary and you can think of no other way to help the user), not to cause programming to run.

Of course, in your case, I'm only guessing. There are several things that can cause flicker.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
Infinity
Senior Member
Members
*****
Offline


Diagonally parked in a
parallel dimension

Posts: 1290
Location: Massachusetts
Joined: May 27th, 2005
Re: Application loading/saving
Reply #9 - Sep 5th, 2006 at 1:20pm
Print Post Print Post  
Quote:
It is often a good idea to "pre-load" the app before the first XLookup so as to get the delay out of the way before your clients need it.

I'm not sure what this means or how it would be done.
  

**
Captain Infinity
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Application loading/saving
Reply #10 - Sep 5th, 2006 at 2:05pm
Print Post Print Post  
Infinity wrote on Sep 5th, 2006 at 1:20pm:
Quote:
It is often a good idea to "pre-load" the app before the first XLookup so as to get the delay out of the way before your clients need it.

I'm not sure what this means or how it would be done.



If you are client / server, you can use a second client to connect to the server and load the application in question. Or you can merge the "X'd" application into your main application, so it will load when the main app loads.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
BOBSCOTT
Senior Member
Members
*****
Offline


That Darn Computer #$X#
{curse words}

Posts: 1195
Joined: Nov 22nd, 2002
Re: Application loading/saving
Reply #11 - Sep 5th, 2006 at 2:55pm
Print Post Print Post  
Mark,

Just a question if you do a set lookup (something you know it will find) on application or on form entry at start up, wouldn’t that do the same as loading a bogus client?

I may have said it a little funky, but I hope you know what I mean.

Thanks
  

Team – Together Everyone Achieves More
Back to top
 
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Application loading/saving
Reply #12 - Sep 5th, 2006 at 2:58pm
Print Post Print Post  
BOBSCOTT wrote on Sep 5th, 2006 at 2:55pm:
Mark,

Just a question if you do a set lookup (something you know it will find) on application or on form entry at start up, wouldn’t that do the same as loading a bogus client?

I may have said it a little funky, but I hope you know what I mean.

Thanks


Yes. And thank you - good sugesstion!
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged