Ga naar inhoud
  • 0

Wat werkt sneller?


Roger

Vraag

Geplaatst:

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?

6 antwoorden op deze vraag

Aanbevolen berichten

  • 0
Geplaatst:

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

  • 0
Geplaatst:

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.

  • 0
Geplaatst:

ik zit in soortgelijke situatie. zijn er nog mogelijkheden als je een containerveld hebt? lokaal is het wel te overzien, maar dat oneindige sorteer (heb ook al met cache ed gespeeld met fms7)

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...