Geschwindigkeit

Hi all,

ich benutze in manchen Skripten folgende Zeile

IPS_ExecuteEx( „D:/IPS/01 externals/ton.exe“, „300“, false, false, 1 );

um einen Ton auszugeben, der mir eine akustische Rückmeldung liefert.(z.B. für Success hohe Frequenz oder Failure niedrige Frequenz).

Kommentiere ich diese Zeile aus, läuft (ein) Script z.B. 10ms, mit der Zeile hingegen 600 ms, obwohl ich ja NICHT (2. false) auf die Rückmeldung warte.

Kann man das irgendwie Beschleunigen?

Wegen der Limitierung auf 10 Scripte will ich dabei auf ein (weitere Instanz starten etc.)

Danke
jwka

Bei mir sind es unter Windows 7 300ms. Die Funktion ist leider so langsam.

paresy

Verstehe ich das richtig, dass die Eingebaute IPS_ExecuteEx so viel Zeit frisst?

Also der Aufruf der shell im Hintergrund?

Wäre das auch der Fall, wenn ich die extern aufgerufene Datei auf eine Ramdisk lege etc.? Habe also keine Möglichkeit da irgendwas zu drehen?

Thx.
jwka

Diese Funktion muss deine Applikation im Userkontext starten (dafür die 1 für die Session). Dafür werden allerlei Securitytokens ect. von Windows erfordert und bis das alles durch ist, dauert es leider seine Zeit.

paresy

ok. dachte mir das schon.

Wurde schonmal an sowas wie ne polling-routine als parallelen Thread gedacht, wo eine Semaphore gesetzt wird, die die Parameter beinhaltet und dann - unabhängig vom aktuellen Script - die externe Dateil aufruft?

Das würde ja dann einiges an Verzögerung ersparen.

Da ich ein paar zeitkritische Routinen bastle ist das mal gerade ein „Hänger“ - wie schon eingangs gesagt, würde ich ungern einen weiteren scripthread für den externen Start opfern (um dann mit RunScriptEx zu arbeiten).

Ach ja, weil wir grad dabei sind: Hätte da noch den Feature-Request nach einem RunScriptExWait (RunScriptWait mit Parameterübergabe).

jwka