Oppure

Loading
16/05/12 22:01
anthony015
anziché allocare 5000 blocchi contigui ne allocassi 5000 sparsi accedendovi in maniera sequenziale

it.wikipedia.org/wiki/…
aaa
17/05/12 8:44
lorenzo
no, quello di 5000 int era un test. Nel programma reale alloco dati di dimensioni diverse...ho diversi vettori e strutture...non si tratta di una sola lista.
Inoltre essendo realtime non deve soffrire della lentezza di una lista non sequenziale.
aaa
18/05/12 19:47
lorenzo
Allora, ho risolto il problema in questo modo.

Ho utilizzato la funzione CreateHeap con dimensione 0(si ingrandisce in automatico quando necessario), modificando però anche il sorgente.

Ho notato infatti che, effettuando una vector::reserve piuttosto grande, la colonna "Dimensione Commit" del task manager aumentava di parecchio. Al crash del programma, quel valore arrivava addirittura a 2 GB, quando la ram effettivamente utilizzata era di 1GB scarso.

Effettuando una reserve più ridotta, sono riuscito a normalizzare anche il commit arrivando ad allocare la memoria che mi serviva.
aaa