![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Необходимо как-то ограничить память используемую программой [D4, Win95/98]
alina © (2003-02-04 17:24:00)В моей программе штук 40 массовов размерностью 200 на 1000. Процедура ApplicationProcessMessage в циклы вставлена. Оперативная память ПК - 384 Мбайт, но все равно работать за компьютером невозможно. Может ли быть, что просто неправильно настроен Windows? А может нужно ограничить использование программой процессора? Как это можно сделать? Проблема для меня действительно серьезная так, как программа считает по 2 суток(нестационарные двумерные процессы)
Anatoly Podgoretsky (2003-02-04 18:24:00) [1]Это не размер, явно дело в алгоритме, по крайней мере это основной ресурс повышения быстродействия.
Игорь Шевченко (2003-02-04 18:10:00) [2]
> В моей программе штук 40 массовов размерностью 200 на 1000
Переписать программу. Однозначно.
han_malign (2003-02-04 18:07:00) [3]Попробуй с HeapAllocFlags поизвращаться, если под 9X/Me работаешь то лучше w2k (в 9Х - и виртуальная память, и мультизадачность кривее).
А так, что-бы другие приложения не тормозили - приоритет процесса надо понижать, или ProcessMessages почаще вставлять, но это аукнется увеличением времени рассчета.
Помогает увеличение шага отображение прогресса (пореже промежуточное данные выводить - отображение много времени отжирает).
З.Ы. 2 Кот Бегемот © (04.02.03 17:41) - а ты уверен, что это девушка - и не такие экзотические ники встречаются..., а ты сразу #$% :)))
gsu (2003-02-04 18:02:00) [4]>> А Вам девушка помогут потоки :)))
>> и как ?
Если вы имеете ввиду вынос расчетной части в доп. поток, то это верно, я просто по другому и не делаю (-:|~
Романов Р.В. (2003-02-04 18:00:00) [5]Application.ProcessMessage используйте через 100 - 1000 итераций цикла.
gsu (2003-02-04 17:59:00) [6]>> Mystic © (04.02.03 17:55)
~ 4
Mystic (2003-02-04 17:55:00) [7]Скорее всего проблема не в памяти, а в процессоре... в этом случае надо или понизить приоритет основного потока, либо содать дополнительно поток с меньшим приоритетом.
> ~ 30 метров
Откуда вы знаете размер элемента массива?
gsu (2003-02-04 17:46:00) [8]>> А Вам девушка помогут потоки :)))
и как ?
странно, ~ 30 метров всего, может размерность больше или используются динамические массивы и неправильно освобождаются ?
Кот Бегемот (2003-02-04 17:41:00) [9]Удалено модератором
Примечание: Повежливее делай предложение