AGB  ·  Datenschutz  ·  Impressum  







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

Bilder nachladen

Ein Thema von Peter666 · begonnen am 6. Jul 2023 · letzter Beitrag vom 6. Jul 2023
Antwort Antwort
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#1

Bilder nachladen

  Alt 6. Jul 2023, 15:08
Hi,

die Sache ist wahrscheinlich trivialer als gedacht, aber ich habe ein Problem mit folgendem. Ich lade eine JSON Datei aus dem Netz in dieser befinden sich hunderte Links zu Bildern die in der Regel 1920x1080 Pixel groß sind. Ich zeige diese in einer Liste (skaliert) an, die einzelnen Items erstelle ich sofort, die Bilder lade ich sobald das Listview Element zum ersten mal gezeichnet wird in einem separaten Thread der über ein Callback dann synchronisiert das Listview Element informiert sich neu zu zeichnen mit dem übergebenen Bild. Das ganze ist zum einen total inperformant und ich frage mich wie ihr das macht? Bei Javascript reicht es ein Element mit dem Bild zu erstellen und das geht im Browser 1a. Habt ihr Ansätze wie man das am besten macht? Auch gibt es Probleme, wenn ich das Element lösche und das Bild ist noch nicht geladen.
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
435 Beiträge
 
Delphi 12 Athens
 
#2

AW: Bilder nachladen

  Alt 6. Jul 2023, 15:13
Viele benutzen dafür Thumbnails. Dann müssen nur ganz kleine Vorschaubilder geladen werden. Kannst du ggf. auch kleinere Formate laden?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Bilder nachladen

  Alt 6. Jul 2023, 20:48
Du solltest die Bilder im Hintergrund stetig (und mehrere parallel, Stichwort Threadpool, Tasks oder schlicht TParallel.For) nachladen und nicht erst, wenn sie konkret angezeigt werden. Im Browser passiert auch genau das.

Wenn du dann ein Bild benötigst, schaust du, ob es schon da ist, ansonsten zeigst du "wird geladen... (25%)" an und priorisierst dessen Download, sprich führst ihn sofort aus. Dann geht es zwar nicht schneller, aber der Benutzer bekommt ein Feedback, weshalb die Benutzererfahrung dennoch positiver ist.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  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 16:29 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