Memoire Vive...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Neosis
Messages : 113
Inscription : dim. 24/févr./2008 20:11

Message 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 :)
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message 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
Neosis
Messages : 113
Inscription : dim. 24/févr./2008 20:11

Message 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 :wink:
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

A priori, lui aussi galère un peu. Gagner du temps, c'est pour vous deux ! :D
Anonyme

Message 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.
brossden
Messages : 822
Inscription : lun. 26/janv./2004 14:37

Message 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 ! :lol:
Denis

Bonne Jounée à tous
Neosis
Messages : 113
Inscription : dim. 24/févr./2008 20:11

Message par Neosis »

Trop tard j'ai fini :lol:
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 :lol:
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 :)
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message 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 :!:
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Neosis
Messages : 113
Inscription : dim. 24/févr./2008 20:11

Message par Neosis »

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 Exclamation

C'est pas que je soit égoïste :) mais je travaille sur un projet que je veux garder au chaud tant que ça n'est pas au point 8) , j'espére que vous me comprenez
:P
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message 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 !
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

Message 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, ....
Répondre