Alextp

|
Posted: Sun Feb 19, 2006 02:20 Post subject: |
|
|
Все, разобрался, почему теряется память! У меня в коде все корректно, дело в менеджере памяти Delphi: при постоянном перевыделении памяти на структуру (память перевыделялась для списка записей кеша при чтении _каждой_ записи) - получается дикая фрагментация. Я сделал так, что память перевыделяется только для каждых новых 10000 записей, и фрагментация пропала, теперь должно быть все хорошо. Если понадобится, увеличу это число до 50-100 тыс., тогда для 37000 записей память будет выделяться за один вызов.
Глюк с пропаданием окна прогресса после Alt+Tab вроде тоже поправил. Завтра выложу новую версию.
Спасибо Schmaster за то, что подстегнул... _________________ UniViewer - CudaText - LogViewer
|
|