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.
|