pb de load de grosses images en cache ( qCache & qPixmap ) [QT/C++] - C++ - Programmation
Marsh Posté le 30-04-2004 à 15:02:44
j'ai simplifié le pb à ca.
La premiere image se charge correctement mais pas la seconde (alors que c la meme.).
Code :
|
Marsh Posté le 30-04-2004 à 18:16:50
Apparemment, c'est un problem de plateforme, qpixmap est dépendant de la plateforme, et sous windows, il y aurait une limite. Tout ce que je peux faire c'est utiliser des QImage (qui dépend pas de la plateforme) et les convertir au moment opportun en qpixmap, mais ca devrait pas mal ralentir mon application entiere.
Marsh Posté le 30-04-2004 à 21:51:01
J'ai recopié ton code qui fonctionne très bien sur ma machine (XP). De toute façon si p2 est null c'est un problème pendant le new QPixmap et non dans le load.
webmestre du site français de la programmation Qt : http://prog.qt.free.fr
Marsh Posté le 12-05-2004 à 14:56:58
Non, en fait je me suis mal exprimé quand je disais que p2 était null, c'est que p2->isNull() est true (l'image a une dimention de 0x0).
Je suis sous 2000 avec QT 3.2.2.
Marsh Posté le 12-05-2004 à 15:54:31
J'ai essayé avec d'autres fichiers de la meme taille.
p1 a une taille correct.
Marsh Posté le 30-04-2004 à 14:18:35
En gros je charge des images de grande dimentions, jusqu'a 3040x2008 ca va, je peux en avoir 3-4 en mémoire (je les stoque dans un qCache).
Mais avec des images de 4080x4078 je ne peux en garder qu'une en mémoire, juste apres le load de la seconde image qui se passe bien, l'image disparait de la memoire (taille 0x0). Je suis alors obligé de vider l'image précédente en cache, pour pouvoir charger la nouvelle.
Le programme semble avoir une limite de cache et fait le menage tout seul, et ce n'est pas à cause du qCache que je configure correctement. J'ai 1Go de ram sur la machine sur laquelle je suis donc c pas ca le pb.