Page 2 sur 2
Publié : ven. 06/juin/2008 15:24
par Neosis
Merci Ollivier mais c'est les images qui me font chié maintenant 
Je croie que je tien une solution : plutôt que de charger toutes les images et les garder dans la mémoire vive, je vais charger seulement les images que j'utilise, lorsque celle-ci n'est plus utiliser je libère la place et je charge une autre image dont j'ai besoin. C'est simple à dire mais maintenant il faut adapter mon code ça va me faire du bouleau en plus
Merci à tous pour avoir apporter de l'attention à mon sujet
Publié : ven. 06/juin/2008 15:45
par Ollivier
Si elles font toutes la même taille (en octets), ça ne sera pas trop compliqué. Par contre, si tu as des petites images et des grosses, ça sera plus dur à gérer.
Il y a un autre critère : apparaissent-elles et disparaissent-elles fréquemment en fonction d'un plan ?
Si oui, l'algo en question sera similaire à celui qu'Octavius doit créer. Il a des faces 3D à la place des images.
Peut-être que voir avec lui, dans ce cas permettra de gagner du temps ?
Topic
Publié : ven. 06/juin/2008 16:08
par Neosis
Nan mais c'est bon Ollivier je vais me débrouiller, faut que j'arrive à me démerdé un peu tous seul c'est d'ailleurs comme ça que l'on apprend vite
Publié : ven. 06/juin/2008 16:15
par Ollivier
A priori, lui aussi galère un peu. Gagner du temps, c'est pour vous deux !

Publié : ven. 06/juin/2008 17:50
par Anonyme
Cpl.Bator a écrit:
Je ne te comprends toujours pas.... que tu utilises une liste un tabelau , des allocates , pour stocker des données , la mémoire consommé reste la même , après , c'est la vitesse d'execution , mais ce n'est pas le sujet. par contre si tu veut stocker un caractère ASCII un quad te servirais à rien... c'est tout ce qui faut savoir.
Si ton nombre à stocker varie entre 0 et 255 , un .c fait l'affaire et te bouffe 1 octets...
pas besoin d'un quad dans ce cas.
@++
Je ne suis pas tout à fait d'accord : une liste chaînée va forcément prendre plus de place qu'un tableau puisqu'il y a les pointeurs vers les éléments suivants/précédents.
A grande echelle , oui , mais pas dans la plupart des cas , et puis avec les pc actuel , liste chainées , pointeur intelligents... sont de rigueur pour un programme assez complet.
Publié : sam. 07/juin/2008 8:59
par brossden
Neosis on est jamais idiot ! On passe simplement à coté de quelque chose !
Je pense qu'il est peut être possible de gérer mieux tes images alors si tu avais un bout de code à nous soumettre, je suis sur qu'ici il y aurait du monde pour optimiser ton code et un défit étant toujours intéressant je me mets dès à présent sur les ragns !

Publié : sam. 07/juin/2008 10:04
par Neosis
Trop tard j'ai fini
J'utilise "FreeImage()" pour retiré mes images chargé qui prenne de la mémoire. Et je recharge au bon moment l'image dont j'ai besoin avec "LoadImage()". Avant je chargeais tous d'un coup et je laisser tous en mémoire pour ça que j'avais plus de 100 Mo de mémoire vive utilisé.
Sinon je viens de trouver une Super solution pour trouver rapidement l'élément dont j'ai besoin dans ma liste chainée, je me suis fait une liste chainée avec 350000 élément autant dire que le CPU travaille si je doit utiliser "ForEach" pour parcourir toutes la listes
Du coup je pointe directement l'élément dont j'ai besoin avec "ChangeCurrentElement()" jusque la rien de nouveau...le problème c'est qu'il faut l'adresse de l'élément que l'on veut pointer et avoir l'adresse de 350 000 élément c'est énorme...
Donc voila comment j'ai fait : l'adresse de chaque élément et enregistrer dans un fichier Traitement Texte lors de la création de la listes chainée en questions, en fonction de l'élément dont j'ai besoin il me suffit de lire le fichier Texte au bonne endroit et lire l'adresse de l'élément. Du coût je pointe instantanément sur l'élément dont j'ai besoin dans ma listes Chainée
Voila comment j'arrive à gérer une listes chainée gigantesques rapidement
Publié : sam. 07/juin/2008 12:20
par Jacobus
Sûr qu'avec ton message multicolore on a tout compris.
Ah, au fait, surtout ne poste jamais de code, des fois qu'il servirait à d'autres... ou bien si on reconnaît du code on va te demander des royalties

Publié : sam. 07/juin/2008 12:38
par Neosis
Publié : sam. 07/juin/2008 19:19
par Ollivier
Respect pour ton projet. Pour ta technique de repérage, voici un lien vers le site us :
topic.
Donc, la problématique a déjà été étudié, et le tableau (enregistré ou non sur fichier) est plus rapide que l'indexation dans un fichier texte!
Je pense que c'est dans ce sens-là que je conçois l'humour de Jacobus. Poster un code, c'est surprendre mais aussi être surpris. Tel est l'exemple ci-dessus.
Bonne bourre à toi !
Publié : mar. 10/juin/2008 20:28
par jerexgrz
Moi, en tout cas, pour economiser un max de memoire, s'il s'agit simplement de stocker des données (X,Y, 10, ...), je ferais un fichier. Et apres, en fonction de secteurs (pour améliorer), on peut retrouver des données, archiver, ....