[GastForen Programmierung/Entwicklung AppleScript Beschleunigen von Scripts mit "do script"

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Beschleunigen von Scripts mit "do script"

Hans Haesler
  
Beiträge gesamt: 5818

27. Sep 2006, 12:09
Beitrag # 1 von 3
Bewertung:
(682 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

wenn ein Script etwas gar lange braucht, bis es ausgeführt ist,
dann kann das Benutzen der XPress-eigenen 'do script'-Methode helfen.

Hier zwei Scripts zur Demonstration des Unterschiedes.

Ein neues XPress-Dokument erzeugen, Format A4 und dieses Script starten:
Code
tell application "QuarkXPress 6.5" 
  activate
  my makeBoxes()
end tell

on makeBoxes()
  set curVal to 0
  set y1 to 40
  tell document 1 of application "QuarkXPress 6.5"
    repeat with i from 1 to 10
      set y1 to y1 + 11
      set x1 to 50
      set y2 to y1 + 10
      repeat with j from 1 to 10
        set curVal to curVal + 1
        set x2 to x1 + 10
        make picture box at beginning with properties {bounds:{y1, x1, y2, x2} ¬
          , color:"Magenta", shade:curVal}
        set x1 to x1 + 11
      end repeat
    end repeat
  end tell
end makeBoxes

Nochmals ein neues Dokument und das do-script-Script starten:
Code
tell application "QuarkXPress 6.5" 
  activate
  do script {makeBoxes}
end tell

script makeBoxes
  set curVal to 0
  set y1 to 40
  tell document 1 of application "QuarkXPress 6.5"
    repeat with i from 1 to 10
      set y1 to y1 + 11
      set x1 to 50
      set y2 to y1 + 10
      repeat with j from 1 to 10
        set curVal to curVal + 1
        set x2 to x1 + 10
        make picture box at beginning with properties {bounds:{y1, x1, y2, x2} ¬
          , color:"Magenta", shade:curVal}
        set x1 to x1 + 11
      end repeat
    end repeat
  end tell
end script

Auch ohne Stoppuhr bemerkt man den Unterschied. Ich habe auf meinem G4 für
das erste Script 13.288 Sekunden gemessen und für das zweite 2.656 Sekunden.

Etwas (veraltete) Lektüre gibt es hier: "Beschleunigung dank der 'do script'-Methode"
http://www.page-online.de/page/forum/viewthread/1849/

Praktische Beispiele? Jede Menge in den optimierten XPress-Script-Menü-Script-
Sammlungen für QXP 6.x oder 7.0. Erhältlich hier: http://www.fachhefte.ch
Den Link "AppleScripts" betätigen den Ordner "mac_os_x_d" öffnen und je nach
Version auch "min_qxp_6_1" oder "qxp_7_0". Die Stuffit-Archive heissen
"Quark_6.x_scripts_d" bzw. "Quark_7.x_scripts_d".

Gruss, Hans
X

Beschleunigen von Scripts mit "do script"

TMA
Beiträge gesamt: 384

27. Sep 2006, 12:45
Beitrag # 2 von 3
Beitrag ID: #421202
Bewertung:
(681 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
der wahnsinn...

normaler handleraufruf: ca. 13 sekunden

do script aufruf: ca. 3-4 sekunden

aber jetzt kommts:
wenn ich im tell xpress-block den script-aufruf änder von do script nach run script brauchts ca. 9 sekunden. weis einer warum das so ist?

gruß
TMA


als Antwort auf: [#421201]

Beschleunigen von Scripts mit "do script"

Hans Haesler
  
Beiträge gesamt: 5818

27. Sep 2006, 13:18
Beitrag # 3 von 3
Beitrag ID: #421203
Bewertung:
(681 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

weil 'do script' eben eine XPress-native Methode ist und die Aktionen im
Hintergrund ablaufen. Und 'run script' ist eine Methode des Scripting-
Systems. Dass es schneller ist, als der Handler, mag in der Verwendung
des Scriptobjekts liegen. Aber Genaueres weiss ich nicht.

Übrigens: Auch InDesign hat eine 'do script' Möglichkeit. Aber Adobe hat
es nicht geschafft, die Arbeitsweise der XPress-Methode zu kopieren und
somit wird nur ein 'run script' durchgeführt.

Gruss, Hans


als Antwort auf: [#421201]

Aktuell

PDF / Print
Wolken_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/