AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GraphViz und Delphi via Shell execute

Ein Thema von bernhard_LA · begonnen am 19. Jan 2016 · letzter Beitrag vom 20. Jan 2016
 
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

GraphViz und Delphi via Shell execute

  Alt 19. Jan 2016, 17:12
unsere Anwendung führt Graphen basierte Algorithmen aus. Dem Anwender möchten wir Ergebnisse (Graphen) als Ergebnis darstellen. Wir haben aktuell
das Tool Graph Viz ( http://graphviz.org/) in Verwendung. Wir schreiben den Graphen als Textdatei und rufen dan GraphViz via Shell execute auf , alles ziemlich ähnlich zu ( http://sourceforge.net/projects/gengraph/)


Delphi-Quellcode:
  if not FileExists(DotExe) then
    Exit(-1);

  Tmp := IncludeTrailingPathDelimiter(GetUniqueTempFolder('~instgraph'));
  ForceDirectories(Tmp);
  Source.SaveToFile(Tmp + 'tmp.dot');

  { Generate parameters }
  Params := '';
  if (gmOutputPNG in Modes) then
  begin
    Params := Params + '-Tpng -o' + Tmp + 'output.png ';
  end;
  Params := Params + Tmp + 'tmp.dot'; // Input-file

  { Do execution }
  ExecAndWait(FDotExe, Params, 'open', True, SW_HIDE);

  { Parse results }
  if (gmOutputPNG in Modes) then
  begin
    Png.LoadFromFile(Tmp + 'output.png');
  end;

  DelTree(Tmp);

Für kleine Graphen funktioniert unsere Anwendung super , für mittlere Graphen ( 1000 ... 5000 Knoten und 1000 Kanten kann man nicht mehr auf das Bild warten, die Rechenzeit geht nach unendlich obwohl die Textdaten des Graphen nach wenigen Sec. im TMemofeld in unserer Anwendung bereits angezeigt werden.
Hierzu nun folgende Fragen :

a) kann dies an unserem code liegen, habe ich irgendwo einen Performance Blocker eingebaut ?

b) kennt jemand Tricks um GraphViz zu beschleunigen

c) gibt es Parameter zum Beschleunigen der Erstellung der *.png Datei ?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz