AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Welche GraphicLib zum Zeichnen von Polygonen?

Welche GraphicLib zum Zeichnen von Polygonen?

Ein Thema von Jacks · begonnen am 7. Mär 2016 · letzter Beitrag vom 14. Mär 2016
Antwort Antwort
Seite 1 von 3  1 23   
Jacks

Registriert seit: 7. Mär 2016
14 Beiträge
 
#1

Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 15:36
Hallo,

aktuell versuche ich die Performance meiner graphischen Prozesse zu steigern.

In meiner Anwendung möchte ich mehrere Objekte(Polygone) > 100.000 aus einer Datenbank laden und in einer BitMap darstellen.
Aktuell verwende ich hierfür TCanvas. Leider bin ich mit der Rechendauer noch unzufrieden, deshalb würde ich gerne auf eine alternative Methode umsteigen.

Nach längere Suche im Internet bin ich nicht wirklich schlauer geworden, welche GraphicLib sich hierfür am besten eignet.
- Was würdet Ihr empfehlen?
- Gibt es eine GraphicLib die threadsafe ist?

OpenGL
Graphics32
GDI
GDI+
Direct2D Direct3D
DirectX


Grüße Michael
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.135 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 15:54
Nunja im Zweifelsfall sind DirectX und OpenGL quasi dafür gemacht Polygone zu zeichnen.
Kannst du vllt. etwas Code zeigen? Vielleicht kann man aus deinem Code ja auch noch was rausholen.
Wenn du allerdings maximale Geschwindigkeit haben willst solltest du DirectX benutzen schätze ich.

PS: DirectX ist unterteilt in u.a. Direct2D und Direct3D, es ist also quasi dasselbe.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General ( 7. Mär 2016 um 16:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
3.946 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 15:55
mehrere Objekte(Polygone) > 100.000 aus einer Datenbank laden und in einer BitMap darstellen.
Polygone 2D->Bitmap? 3D-Projektion->Bitmap?

Gibt es eine GraphicLib die threadsafe ist?
Um was zu erreichen?

Doch 3D?

Was hast Du da und was willst Du erreichen?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.135 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 15:58
DirectX heißt nicht zwangsweise 3D.
(Also technisch natürlich schon, aber ohne Z-Koordinaten und entsprechender Kameraeinstellung ist auch da 2D möglich und ggf. auch sinnvoll).
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
3.946 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 16:01
DirectX heißt nicht zwangsweise 3D.
(Also technisch natürlich schon, aber ohne Z-Koordinaten und entsprechender Kameraeinstellung ist auch da 2D möglich und ggf. auch sinnvoll).
wir spekulieren wieder im Kreis... Warten wir doch auf die Antwort vom TE.
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
597 Beiträge
 
#6

AW: Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 16:46
Vulkan fehlt in der Liste noch...
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Jacks

Registriert seit: 7. Mär 2016
14 Beiträge
 
#7

AW: Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 17:24
Im Grunde möchte ich nur 2D Polygone in der BitMap darstellen. Alle Polygone hole ich sequentiell aus meiner Datenbank und lasse sie mit MyCanvas.Canvas.Polygon zeichnen.

Um die Objekte aus der Datenbank zu holen verwende ich bereits Multithreading mit OTL(Omnithreadlibrary) - An der Stelle lässt sich der Code quasi kaum noch verbessern. Im Gegensatz dazu ist Canvas nicht threadsafe. (deshalb die Frage, ob es vll. eine Variante für das Zeichnen gibt, die threadsafe ist)

Über Vulkan muss ich mich erst noch informieren. Höre ich jetzt zum ersten Mal .

Delphi-Quellcode:
//Erstellen einer Verbindung zum SQLSERVER
ConnecttoDatabase(server, database, AdoConnection);
...
...
ThreadQuery.SQL.Add(sqlString);
ThreadQuery.open;

while NOT ThreadQuery.Eof do
begin
        //Objekt holen
        RetrieveObjectFromQuery(ThreadQuery, MyDs);
        ThreadQuery.Next;
        //Polygone zeichnen
        PaintSingleObject(MyDs, BMP, P2RWMatrix,aImageList);
end;
  Mit Zitat antworten Zitat
Jacks

Registriert seit: 7. Mär 2016
14 Beiträge
 
#8

AW: Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 17:41
für meine Anwendung ist somit Direct2D sinnvoller als DirectX und Direct3D?
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
3.946 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 17:43
Immer abwechselnd Daten holen und Malen?

Würde ich nicht machen...
  Mit Zitat antworten Zitat
Jacks

Registriert seit: 7. Mär 2016
14 Beiträge
 
#10

AW: Welche GraphicLib zum Zeichnen von Polygonen?

  Alt 7. Mär 2016, 18:01
Immer abwechselnd Daten holen und Malen?

Würde ich nicht machen...
Ja, aktuell hole ich die Daten mit Multithreading aus der Datenbank. Beim Zeichnen der BMP muss ich dann Canvas sperren - An der Stelle warten meine Threads mit den geladenen Daten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf