AGB  ·  Datenschutz  ·  Impressum  







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

GraphicsContainer

Ein Thema von EWeiss · begonnen am 27. Mär 2017 · letzter Beitrag vom 28. Mär 2017
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.064 Beiträge
 
Delphi 12 Athens
 
#1

AW: GraphicsContainer

  Alt 28. Mär 2017, 03:16
Also alles was in dieser Prozedure geschrieben wird, wird erst auf ein Bitmap gemalt und dann mit BitBlt auf das eigentliche DC des Containers.
Das meinte ich ja damit, dass da zu viel passiert.
Kannst du nicht einfach zumindest testweise die Bitmap plus DC für jeden Frame vorhalten so wie du es da schon hast? Bei sehr vielen Frames wird das vielleicht zu viel, aber etwas Luft sollte da schon sein.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: GraphicsContainer

  Alt 28. Mär 2017, 03:26
Also alles was in dieser Prozedure geschrieben wird, wird erst auf ein Bitmap gemalt und dann mit BitBlt auf das eigentliche DC des Containers.
Das meinte ich ja damit, dass da zu viel passiert.
Kannst du nicht einfach zumindest testweise die Bitmap plus DC für jeden Frame vorhalten so wie du es da schon hast? Bei sehr vielen Frames wird das vielleicht zu viel, aber etwas Luft sollte da schon sein.
Schau mal überall im Internet jeder wird dir sagen das es ratsam ist ein Buffer-Bitmap zu erstellen alleine wegen dem Flickern schon.
Man kann nicht einfach alles wahllos auf das DC knallen.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.064 Beiträge
 
Delphi 12 Athens
 
#3

AW: GraphicsContainer

  Alt 28. Mär 2017, 04:43
Das es am saubersten und schnellsten ist die Bilddaten direkt in den Arbeitsspeicher der Grafikkarte zu laden (OpenGL / DirectX), darüber brauchen wir uns nicht unterhalten. Aber da das mit GDI+ nun einmal nicht geht, wäre es trotzdem die schnellste Lösung zum Testen, einfach die schon jetzt erzeugten temporären Daten vorzuhalten.

Denn GdipCreateCachedBitmap hält die Daten ja auch nur im Arbeitsspeicher, nicht im Videospeicher. Zum reinen Performancetest hätte ich jetzt nicht die sauberste Lösung vorgezogen, sondern die am schnellsten implementierte.

Ich wollte damit jetzt nicht sagen, dass das eine bessere Lösung wäre.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: GraphicsContainer

  Alt 28. Mär 2017, 04:55
Das es am saubersten und schnellsten ist die Bilddaten direkt in den Arbeitsspeicher der Grafikkarte zu laden (OpenGL / DirectX), darüber brauchen wir uns nicht unterhalten. Aber da das mit GDI+ nun einmal nicht geht, wäre es trotzdem die schnellste Lösung zum Testen, einfach die schon jetzt erzeugten temporären Daten vorzuhalten.

Denn GdipCreateCachedBitmap hält die Daten ja auch nur im Arbeitsspeicher, nicht im Videospeicher. Zum reinen Performancetest hätte ich jetzt nicht die sauberste Lösung vorgezogen, sondern die am schnellsten implementierte.

Ich wollte damit jetzt nicht sagen, dass das eine bessere Lösung wäre.
Wir können da jetzt noch lange Diskutieren.
Schick mir deine Mail über PN und ich schicke dir den Source zu.
Damit du sehen kannst was da ab geht. (Aber bedenke ich bin Hobby Progger)


gruss
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:13 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