|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.06.2012, 16:10 | #1 |
Пользователь
Регистрация: 21.07.2010
Сообщений: 22
|
Утечка памяти [png;bmp;буффер]
День добрый;
Реализую графический буфер с использованием png (очень экономит память, в отличие от bitmap). Как минимум уже на этапе объявления есть 3 лишних метра Код:
Может имеет смысл не держать в оперативке все элементы буфера(у меня их штук 20 скажем), а писать в файл и непосредственно обращаться к нему каждый раз. Как сильно уменьшится скорость? заносить данные в буфер потребуется не редко... Заранее спасибо Последний раз редактировалось Stilet; 03.06.2012 в 16:35. |
03.06.2012, 16:59 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
В лучшем случае (когда ОС) кэширует Ваш файл - немного. Иначе, если файл открыт - 10-30 мс, нужно открывать - 30-100 мс. Плюс сами 3 Мб будут читаться 20-100 мс.
Но ради 3 Мбайт я бы не стал прибегать к файловым операциям. |
03.06.2012, 17:09 | #3 |
Пользователь
Регистрация: 21.07.2010
Сообщений: 22
|
3 мегабайта только при включении. после 30-40 шаког прога кушает в районе 100 метров
Сейчас реализовал с файлами, все таки продолжительное время он рабит... заметно |
03.06.2012, 17:38 | #4 |
Пользователь
Регистрация: 21.07.2010
Сообщений: 22
|
если загонять в массив и держать в опере, то каждый файл весит скажем 10 кб. т.е. при 20 элементах 200кб. А судя по занимаемому месту в опере, каждая весит в районе 2-3 метров. т.е. столько же, сколько и битмап. но битмап я чищу разумеется. Вот когда png.Assign(bitmap); может ли происходить потеря памяти?
|
03.06.2012, 19:06 | #5 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Утечка памяти - следствие ошибки в алгоритме, и перенесение части данных из ОП на диск эту ошибку не устранит.
|
04.06.2012, 10:53 | #6 | |
Форумчанин
Регистрация: 03.02.2010
Сообщений: 178
|
Цитата:
Код:
|
|
04.06.2012, 12:55 | #7 |
Пользователь
Регистрация: 21.07.2010
Сообщений: 22
|
спасибо большое!) буду пробовать
|
04.06.2012, 13:38 | #8 |
Пользователь
Регистрация: 21.07.2010
Сообщений: 22
|
Заодно спрошу (пока ищу в гугле..)
Код:
buffer[индекс].read(pn,sizeof(pn)); // разумеется ругается, ибо неизвестен развем pn и не хватает понимания, как это работает.. |
04.06.2012, 13:44 | #9 |
Пользователь
Регистрация: 21.07.2010
Сообщений: 22
|
Разобрался)
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
утечка памяти | Кудаив | Помощь студентам | 1 | 30.04.2012 18:18 |
Утечка памяти | forivanb | Общие вопросы Delphi | 4 | 11.04.2012 15:28 |
Утечка памяти | Juffin | Общие вопросы Delphi | 3 | 02.11.2010 12:11 |
Утечка памяти | ZvEr_HaCkEr | Свободное общение | 13 | 24.09.2010 19:30 |
утечка памяти в С++ | vengo | Общие вопросы C/C++ | 9 | 10.06.2008 21:24 |