AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Schnelles nachladen von Bilddateien

Schnelles nachladen von Bilddateien

Ein Thema von Memnarch · begonnen am 15. Jan 2011 · letzter Beitrag vom 23. Mai 2023
Antwort Antwort
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 01:32
Ich würd's mal mit Delphi-Referenz durchsuchenTThreadList probieren.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#2

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 02:17
Joar..eindeutiger name, nech?^^.
Werde ich mir nach ner mütze schlaf mal angucken(und nachdem alles in einer datei verstaut werden kann ).

Noch 2 dinge:

1) Meine bilder haben eine gesamtgroße von 500MB. jpg wärens nur 130MB, aber kein Alphakanal >.<(der muss sein).
2) etwas das ich mal ausprobiert aber wieder verforfen hatte(weil sowieso blöde idee ), ABER: ich hatte mal versucht einfach alle bilder in den ram zu klatschen. Ein bild geladen-> ab in eine tobject liste. IMMER nach exakt 260 Bildern war schluss, ungültiges bild. Das programm hatte da vllt 500KB ram eingenommen. Bin hier unter WIn7 und hattes es auchmal als Admin gestartet. Wüsste gerne für später mal was da los ist o.o.

EDIT: wnen es sowieso generell schneller ist alles aus einer datei zu laden, wie stehts dann damit, dass ich einfach alles chronologisch in die resourcen packe und daraus lade o.O. Oder hat der filestream da noch vorteile?(den ich bei einem eigenen format genommen hätte)

MFG
Memnarch

Geändert von Memnarch (16. Jan 2011 um 02:22 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 02:21
Ich glaube, der Taskmanager zeigt nicht den gesamten belegten Arbeitsspeicher an, sondern nur den, der sich tatsächlich auch um RAM befindet. Ausgelagerter Speicher ist glaube ich nicht mit eingerechnet. Du kannst dir mal den Process Explorer von Sysinternals laden, der zeigt beides an.

Muss der Alphakanal denn wirklich sein? Wenn dein Material einfarbig ist wie im verlinkten Video, würden doch 2 Farben eigentlich reichen, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#4

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 02:44
Auf den erstenblick scheint es nur 2farbig(wär ja schön, Monochrome map und transparentefarbe drüber), aber es gibt auch graustufen

Z.B. der schattenwurf bei dem intermezzo der drei damen ist semitransparent wie auch noch so einige dinge. (gibt halt farbverläufe von weiß nach schwarz). Leider kommt da ne monochrome map nicht infrage >.<

THEORETISCH wäre es möglich NUR den alpha kanal zu nehmen. Aber da wüsste ich nich wie (das möglich bezieht sich auf die getreue darstellung des bildes)

PS: und könnte ich auch anstatt nem eigenen format auch das ganze in ne resourcefile klatschen?(oder färe es per filestream doch besser es selbst zu handeln?)
PSS: Guten morgen^^ (wo bleiben nur meine Manieren )
PSSS: Und wnen ich es, wie oben erwähnt habe, schaffen würde NUR den alphakanal abspeichern und verwenden zu können. Dan wären nur ca 160MB übrig, schnelleres laden, schnellere performance.(also ich würd eigentlich mit 8Bit pro pixel auskommen..nur wie >.<)

PSSSS: IDEE: was passiert, wenn ich den Alphawert nach dem laden eines PNG "Manuell" bestimme? da ich hier ja nur schwarz-> weiß habe, kann ich doch auch einfach z.b den AlphaKanal = Red setzen oder nicht?

MFG
Memnarch

Geändert von Memnarch (16. Jan 2011 um 03:18 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 03:14
Es ist möglich, PNGs als Graustufen zu speichern, was dann quasi dem Alphakanal entspräche. Ich würde einfach alle Bilder hintereinander in einen Stream klatschen, dann kann man die bequem in einer Schleife laden (wenn ein Bild fertig geladen ist, ist der Stream direkt am Anfang des nächsten Bildes positioniert) und hat keinen Overhead.
[edit]Liste der möglichen PNG-Formate[/edit]

Geändert von Namenloser (16. Jan 2011 um 03:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#6

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 12:18
5478 Pngs ist schon ein klein wenig viel. Aber mal ne Frage: Wenn du das Bild aus einem Stream ließt, ist es ja immernoch ein PNG-Bild. Heißt Delphi kann damit nicht von Haus aus umgehen und braucht Fremdkomponenten. Diese brauchen jetzt vom Laden bis zum Umsetzen auch ein klein wenig Zeit.

Ist es denn nicht ein Versuch wert, mit Fenster-Regionen zu arbeiten? Ein kleines Beispiel findest du hier: http://www.delphi-fundgrube.de/faq07.htm . Mit Regionen lässt sich aber noch eine ganze Menge anderer Spielereien veranstalten (laut MSDN). Irgendwo bin ich auch mal auf einen Code-Schnipsel gestoßen, der bewirkt hat, dass eine Form genauso aussieht, wie das Bild, das drauf geklatscht war (also BMP, wobei Pixel 0,0 die Transparenzfarbe angegeben hat).

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#7

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 13:29
@Rollstuhlfahrer: Mit Regionen kannste nur dein Fenster in eine gewünschte form zerschnipseln, aber KEINE semitransparenz o:O. BMP...wen ich das nehme explodiert der speicher^^.

@Namenloozer. MH okay greayscaled. Hatte mal in GIMP ein bild nach greyscaled konvertiert, aber hatte absolut keinen unterschied in der größe gemacht^^". Muss ich nochmal gucken.

EDIT: @Namenloozer: Wgen meiner sync technik muss ich sowieso eine tabelle an den anfang schreiben um praktisch einen index aller files zu bekommen

MFG
Memnarch

Geändert von Memnarch (16. Jan 2011 um 13:38 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

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:40 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