Autor Thema: Performance: Erstes Öffnen eines Formulars dauert sehr lange???  (Gelesen 3379 mal)

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Hallo,

ich habe ein Problem mit einem eigenen Formular. Wenn ein Nutzer ein Dokument damit öffnet, dann arbeitet Notes (8.0.1-Eclipse) ein paar Sekunden, danach öffnet sich das Dokument. Beim zweiten Öffnen eines (anderen) Dokumentes geht es dann schneller.

Jetzt hab ich versucht, das einzugrenzen, und habe herausgefunden:
 - Das ausgeführte Lotusscript ist schnell.
 - Irgendwelche Abfragen über Formelsprache in der Oberfläche laufen ebenfalls ohne Probleme.
Das Problem konnte ich in einer Subform lokalisieren. Die Subform beinhaltet mehrere Actions in einer Action Bar. Diese sind aber nur im EDIT-Modus sichtbar, also eigentlich nicht beim Öffnen. Wenn ich diese Actions nun aus der Subform entferne, läuft es wieder schnell. Nur wenn ich die Actions drin habe, dauerts. Die Actions importieren keine Libraries, sondern sollen nur Textfragmente in ein Textfeld einfügen.

Was wisst ihr darüber? Woran liegt das Problem allgemein? Gibt es da "Performancefresser", die man besser nicht verwenden sollte?
Gibt es für mich eine Möglichzeit zu analysieren, anstelle auszuprobieren? Immer etwas ändern und den Notes-Client neu zu starten ist ziemlich aufwändig. Also gibt es eine Art Profiling Tool für den Notes Client?

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Habe weitere Infos: Ein Button bindet eine Script Library ein, welche wiederum

Uselsx "*javacon"

verwendet. Könnte es deshalb so langsam sein? Wenn ja, wie kann ich das umgehen? Ist es möglich, diese Java-Einbettung erst bei Gebrauch zu laden? Es steckt da nämlich ein nettes Feature dahinter, welches aber nicht immer und v.a. nicht beim Öffnen des Dokumentes benötigt wird.

Offline thomson666

  • Senior Mitglied
  • ****
  • Beiträge: 285
  • Geschlecht: Männlich
  • niemand hats leicht, aber leicht hats oan...
du kannst in deiner INI

Client_Clock = 1
Console_Log_Enabled = 1

eintragen. Dann wird beim starten des Clients eine MS-Dos Box mitgestartet, in der du siehst wie lange er für bestimmte Design ID´s  bzw. die Befehle die ausgeführt werden braucht.

Offline DocNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 151
  • Geschlecht: Männlich
Versuch mal folgenden Trick:

Öffnen der Subform
in den (Globals) das Event "Initialize" öffnen
in der Sub Initialize eine Zeile Print "" einfügen

Code
Sub Initialize
	Print ""
End Sub

Quelle:
http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/d24e29cb77b5671c8525702e0049d280?OpenDocument

Gruß,
Markus
« Letzte Änderung: 06.08.08 - 11:23:46 von DocNotes »

Offline it898ur

  • Senior Mitglied
  • ****
  • Beiträge: 478
Um das sofortige Laden der Scripte in den Aktionen zur verhindern, kann man diese Scripte auch in Agenten auslagern und in den Aktionen diese dann mit @Command([ToolsRunMacro]) aufrufen. Funktioniert allerdings nicht bei der Nutzung globaler Variablen.

Gruß

André

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Danke für die Tipps, werde mal fleißig probieren.

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Aaaaaaaaaaaaaaaaaaaallllso:
 - Logging war leider nicht erfolgreich, habe kaum was in der Konsole zum Sehen bekommen, auch nicht mit CONSOLE_DEBUG=1 zusätzlich
 - Der stupide Code in Initialize war hier nicht die Lösung, aber very interesting zu wissen.
 - Ich werde in der Script Library die Java-Importe in einen Agenten auslagern. Das ist denk ich das beste und zentralste, und sollte in allen Subforms, die die ScriptLibrary nutzen, Abhilfe bringen.

Danke schonmal.

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Also unter Notes<8 wäre es leicht erklärt, die Verzögerung entsteht durch das starten der Javaumgebung. Ist übrigens das gleiche wie wenn du in Notes 7.0.x das erste mal  am Tag die Rechtschreibkorrektur verwendest. Aber in Notes 8 dachte ich dass es dieses Problem nicht mehr gibt, da die JVM ja schon von Anfang an gestartet ist. Ausser für LS2J ist aus unerklärlichen Gründen eine eigene JVM notwendig. Dann hast du erstmal nicht viel Chance. Für was wird den LS2J in deiner Datenbank verwendet. Eventuell kan man es mit Notes 8 Mitteln eleganter machen.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz