AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi schnelles Laden von jpgs?
Thema durchsuchen
Ansicht
Themen-Optionen

schnelles Laden von jpgs?

Ein Thema von Borti · begonnen am 30. Jan 2005 · letzter Beitrag vom 30. Jan 2005
Antwort Antwort
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#1

schnelles Laden von jpgs?

  Alt 30. Jan 2005, 15:38
Hallo!
ich suche eine sehr schnelle methode zum anzeigen von bildern.
ich hab insgesammt 800 jpgs , die in pakete von 40 bildern aufgeteilt sind. in meiner Form soll jeweils immer nur ein packet angezeigt werden. Wechsel ich aber von einem "40er-Packet" zum nächsten braucht mein PC ziemlich lange zum laden der nächsten 40 bilder. kann ich das Laden irgendwie beschleunigen? (die bilder müssen eh nur verkleinert angezeigt werden)
Gruß,
Borti
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: schnelles Laden von jpgs?

  Alt 30. Jan 2005, 17:23
Viel schneller als es die Unit JPEG macht wirst du es kaum kriegen. Das Problem bei jpeg ist nämlich, dass du, obwohl du nur eine kleine Vorschau bräuchtest, immer erst das ganze Bild dekodieren musst. Bei progressiven jpegs wäre es anders denkbar, da sie für solche Fälle entwickelt wurden, aber da bleibt das Problem dass du alle Bilder komplett neu komprimieren müsstest (-> Qualitätsverlust), und dass du dafür dann eine komplett eigene Laderoutine schreiben müsstest. Und gerade der letzte Punkt ist übel. Ich hatte mich schonmal mit dem Prinzip von jpeg befasst, und ein ähnliches Format geschrieben, und ich kann dir sagen dass man ganz schön tief in der höheren Mathematik landet um das zu tun . Und schnell war auch was anderes - so stark optimiert wird man es selber wohl nicht bekommen, es sei denn man hat viel Ahnung von Assembler und weiss die ganzen Kniffe diverse Algos und Formaln effizient zu vereinfachen. Hinter jpeg steckt vieeel Theorie die man so erstmal garnicht sieht.

Die einfache Lösung: Schnellere Platte/CPU


Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#3

Re: schnelles Laden von jpgs?

  Alt 30. Jan 2005, 18:21
komplette routine für jpgs schreiben?- nein Danke! Das ist dann doch ein bischen viel arbeit. leider kommt eine neue Platte und cpu bei meiner momentanen finaziellen Lage auch nicht in frage.
Gibt's keine möglichkeit, die Bilder in einem Puffer zwischen zu speichern und bei bedarf die dementsprechenden Bilder aus dem Puffer zu laden? Bei 800 bildern wär der Puffer ein bischen groß, das seh ich ein, aber man könnt ja auch nur einen Teil in den Puffer laden und die verwaltung des Puffers eine Thread überlassen, damit der Anwender beim überarbeiten des Puffers nicht so lange warten muss.
Gruß,
Borti
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: schnelles Laden von jpgs?

  Alt 30. Jan 2005, 18:52
Klar, du könntest immer die nächste und vorige "Seite" puffern, und das Laden in einen Thread schieben der nach Seitenwechsel klammheimlich im Hintergrund nachlädt. Nur hatte ich schon mal Probleme mit jpegs in Threads, allerdings nur beim schnell aufeinanderfolgenden Laden von > ~1000 jpegs.
Das sollte also klappen.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  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 21:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz