Тема: Выделение больших объемов памяти

Здравствуйте уважаемые специалисты!
Столкнулся с такой проблемой: при виделении >372Mb памяти - Access Violation.. (через malloc, acad_malloc, new - не важно).
Так же, когда сумарный объем запрашиваемой п-ти во всех загруженых ARX >~1380Mb.
Civil 06, arx 05.
Посоветуйте варианти виделения бОльших объемов..

Re: Выделение больших объемов памяти

> Bleach
1) Какой объем оперативной памяти у данного PC?
2) Какой объем виртуальной памяти (размер pagefile.sys)?
3) Все указанные тобой функции выделяют непрерывные участки памяти - так вот запросто может быть что непрерывного участка такого объема и нет...
4) Access Violation именно при выделении памяти или при попытке потом ее использовать? Результат выполнения функций выделения памяти проверял? Может быть он NULL?
5) Это ты из спортивного интереса выделяешь такие объемы памяти или алгоритм требует? Может другой алгоритм поискать - не такой прожорливый?

Re: Выделение больших объемов памяти

1) 1Gb
2) postavil 5Gb
3) poprobuyu razobratsya, moget byt`..
4) pry popytke vydeleniya. potomu i rezul`tat ne proveryt`
5) algorytmy trebuyut. - tol`ko vhodnyh danyh ~150-700 Mb

Re: Выделение больших объемов памяти

stranno - soobw4enyya ne obnovlyayut`sya..
*2) dolgno byt` 3Gb - payl podka4ki

Re: Выделение больших объемов памяти

Под 32-разрядные приложения Windows распределяет максимум 2Гб памяти. И из них часть памяти используется ядром системы. Похоже AutoCAD + твои приложения пытаются вылезть за эти лимиты. Так что думай над алгоритмами или над переходом на платформу x64.

Re: Выделение больших объемов памяти

Да, тут есть над чем подумать..
Попробовал через memory-mapped files - тот же результат - MapViewOfFile (под АРХ)больше  372 Мб не выделяет.
Та же ситуация на других версиях acad..
Вывод -  это ограничение Acad`a…
PS. Под MFC код работает нормально.

Re: Выделение больших объемов памяти

> Bleach
Возможно уже не актуально,
маленькое замечание насчет п.5
Зачем в памяти ВСЕ вх данные держать?
Прокачивай их постепенно через алгоритм порциями по 10-100Мb,
а если завтра 7Gb вх данных придет?

Re: Выделение больших объемов памяти

2 Roman:
Такая специфика алгоритмов и вх данных (точки триангуляции)
Задачу решил 2-мя путями
1)    Написал клас работающий с данными через проецируемые в пам’ять файлы (подгружает по блокам в РАМ)
2)    Написал мфс-приложение – сервер в котором производяться критические по ресурсам расчеты. Приложение обменивается данными с акадом через WM_COPYDATA