QPixmapCache Funktionsweise



  • Hallo,

    erst mal ein Lob an das Qt Team, dank der einwandfrei Umgesetzen Möglichkeiten konnten wir innerhalb kürzester Zeit ein reines Windows Tool für Mac und Linux umsetzen, ohne jeglichen Mehraufwand. Respekt und weiter so.

    Da wir recht viel visuell darstellen, versuchen wir im Moment, innerhalb einer ListView Vorschaubilder per Cache zu speichern und wieder zu verwenden. Die Funktion ist recht simpel

    QPixmap peye;
    if (!QPixmapCache::find(":/image32/images32/Eye.png", &peye)) {
          peye.load(":/image32/images32/Eye.png");
          QPixmapCache::insert(":/image32/images32/Eye.png", peye);
    }
    

    Nun ist es leider so, dass beim hoch und runter scrollen der Cache zwar greift, aber immer wieder Bilder lädt. Es scheint so, als wären sie eine gewisse Zeit im Cache und würden dann automatisch raus fliegen.

    Dadurch erscheint auf dem Mac die Listenansicht etwas hackelig beim scrollen. Unter Linux und Windows fällt es nicht auf.

    Ist es so, dass der Cache sich selbstständig leert oder irgendwelche Funktionalitäten hat, die das beeinflussen?

    Das Ziel ist, mit 80x80px Vorschaubildern eine möglichst flüssige Listview zu haben, beim ersten Preload darf es ruhig langsamer sein, wenn die Bilder geladen sind, soll es allerdings flüssig laufen.

    Qt Version 5.8, MacOS 10.12 (16A323) Sierra


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.