Jump to content
  • 0

Wat werkt sneller?


Roger

Question

Op een layout staan 80 gerelateerde containervelden. De inhoud betreft een gekleurd vlak in 12 smaken. Is het voor de snelste weergave nu het beste om bij de vele duizenden records te werken met [set field] om de gewenste kleur in te stellen wanneer records worden aangemaakt of werkt het juist sneller als we een berekeningsveld [container] gebruiken om de kleur te bapalen a.d.h.v. een kleurcode 1 t/m 12?

 

Ik constateer dat het ca 1 sec kost [methode set field] om het scherm op te bouwen als de relatie-key wordt gewijzigd. Snel bladeren wordt daardoor onmogelijk.

 

Iemand suggesties?

Link to comment

6 answers to this question

Recommended Posts

  • 0

Geheel tegen mijn verwachting in was dit een zeer goede tip! Ik had eerlijk gezegd weinig hoop omdat er in mijn scripts niet van de ene layout naar de andere wordt gesprongen, oftewel het window (de actieve layout) blijft al vast staan. Maar het blijkt dat ook bij ander soortige scriptstappen deze functie veel effect kan hebben. Ik heb nu ook een layout met 280 gerelateerde containervelden en 280 gerelateerde tekstvelden kunnen aanmaken. De relatiekey aanpassen zonder 'freeze window' kostte ca 15 sec. M.b.v. 'freeze window' slechts een fractie van een seconde.

 

Wat een heerlijk forum is dit toch!

 

Bedankt JeanWM

Link to comment
  • 0

De naam is misschien niet voor 100 % goed gekozen of dekt niet de volledige lading...

 

Freeze window heeft effekt indien:

 

- een looping script gebruikt werd dat switch tussen records

- bij het doorgeven van data tijdens Perform Script

- navigatie tussen layouts

- verandering van Mode

 

Het is dus niet alleen bij het daadwerkelijk veranderen van 'scherm'.

 

Het dan maar 'altijd' gebruiken is nu weer niet een goed idee.

Freeze Window zal een refresh doen bij het einde van het script. Indien nu in het script geen stappen gebruikt werden die een 'verandering' doen, zal er toch een hinderlijk 'flikkeren' zijn.

Het is best dat te vermijden en Freeze Window enkel te gebruiken indien bovenstaande zaken voorvallen in een script.

 

In tegenstelling tot een automatisch refresh bij het einde van een script, kan het nodig zijn een refresh te doen 'in het midden' van een script.

B.v. in een loopgedeelte bij gebruik van Set Field.

Dan is het nodig om een refresh 'af te dwingen' door gebruik te maken van Refresh Window.

 

B.v. voor het zichtbaar maken van data in een global na een update in een loop.

 

Vandaar dat het voor de 'snelheid' soms beter is een calculated replace te gebruiken in plaats van een loop.

Eeen loop zal bv door verschillende records moeten 'wandelen' om data aan te passen.

Een calculated replace doet het in 1 stap, en is dus duidelijk sneller dan een loop.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...