Performance: Möglichkeiten zur Verbesserung

Allgemeine Techniken

Bei der Bearbeitung von 1000-2000 Aufgaben oder mehr, abhängig von Ihrer Konfiguration und Ihren Plugins, können Sie einige Verzögerungen bei der Darstellung des Gantt-Diagramms bemerken.

Hier sind einige Möglichkeiten, um dies zu beheben:

  1. Schalten Sie die Darstellung einzelner Zellen ab und behalten Sie nur die Zeilenanzeige bei, indem Sie die Option show_task_cells auf 'false' setzen.
  2. Verwenden Sie ein Hintergrundbild für den Zeitachsenbereich anstelle der tatsächlichen Linienanzeige, indem Sie die Option static_background aktivieren (verfügbar mit PRO-Funktionalität).
  3. Aktivieren Sie das dynamische Laden, indem Sie die Option branch_loading auf 'true' setzen.
  4. Passen Sie den Schritt der Zeitskala auf eine größere Einheit wie "Monat" oder "Jahr" an, indem Sie die unit-Eigenschaft der Option scales ändern.
  5. Begrenzen Sie den Bereich der sichtbaren Daten, indem Sie die Optionen start_date und end_date konfigurieren.
  6. Blenden Sie Fortschrittsbalken bei Aufgaben aus, indem Sie die Option show_progress auf 'false' setzen.
  7. Beschleunigen Sie die Skalendarstellung, indem Sie die Option smart_scales aktivieren, falls sie derzeit deaktiviert ist.
  8. Wenn Sie Arbeitszeitkalender verwenden, setzen Sie die Arbeitszeiteinstellungen, bevor Sie Daten in das Gantt-Diagramm laden. Wenn dieser Schritt übersprungen wird, können die Dauern zweimal neu berechnet werden – zuerst beim Laden der Daten und dann, wenn der Kalender angewendet wird. Während alles korrekt funktioniert, kann dies die Initialisierung Ihrer App verlangsamen.
  9. Wenn Sie die duration_unit auf "Stunde" oder "Minute" setzen, stellen Sie sicher, dass der duration_step auf 1 gesetzt ist. Diese Kombination löst spezifische Optimierungen für die Berechnung der Arbeitszeit aus, die nur mit einem Schritt von 1 funktionieren. Es gibt einen spürbaren Leistungsunterschied zwischen optimierten und nicht optimierten Modi.

Related sample:  Performance tweaks

Smart Rendering

Smart Rendering ist eine großartige Möglichkeit, die Geschwindigkeit der Datenanzeige bei der Arbeit mit großen Datensätzen zu erhöhen. Mit dieser Funktion werden nur die Aufgaben und Verknüpfungen gerendert, die aktuell auf dem Bildschirm sichtbar sind.

Ab Version 6.2 ist Smart Rendering standardmäßig aktiviert und im Kern der dhtmlxgantt.js-Datei enthalten. Es ist nicht mehr erforderlich, die separate dhtmlxgantt_smart_rendering.js-Datei einzubinden, um diese Funktion zu nutzen.

Wenn Sie die ältere dhtmlxgantt_smart_rendering.js-Datei einbinden, wird die neuere, integrierte smart_rendering-Erweiterung und deren Verbesserungen überschrieben.

Wenn Sie Smart Rendering deaktivieren müssen, können Sie dessen Konfiguration auf false setzen:

gantt.config.smart_rendering = false;

Related sample:  Working with 30000 tasks

Der Standardprozess des Smart Rendering überprüft, ob die Position eines Gantt-Elements innerhalb des sichtbaren Bildschirmbereichs liegt und entscheidet, ob es angezeigt werden soll.

Für benutzerdefinierte Ebenen ist das vertikale Smart Rendering standardmäßig aktiviert. Das bedeutet, dass benutzerdefinierte Ebenen gerendert werden, wenn die Aufgabenzeile im Ansichtsfenster sichtbar ist. Die genauen Koordinaten eines benutzerdefinierten Elements werden jedoch nicht berechnet, sodass die gesamte Aufgabenzeile in der Zeitleiste als ihre Position behandelt wird.
Sehen Sie sich den Artikel addTaskLayer an, um Details zur Aktivierung des horizontalen Smart Rendering für benutzerdefinierte Ebenen zu erhalten.

Arbeiten mit einem großen Datumsbereich

Diese Funktionalität ist nur in der PRO-Version verfügbar

Wenn Ihr Projekt einen großen Datumsbereich umfasst, sollten Sie die static_background-Parameter zusammen mit Smart Rendering aktivieren:

gantt.config.static_background = true;

Related sample:  Performance tweaks

Zurück nach oben