Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2007, 17:59   #1
AndrewASV
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 11
По умолчанию Помогите с оптимизациєй

У мня есть StringGrid, у которую должни записиватся много значений, но ето занимаєт очень много памяти из файла подкачки. Как мне ето оптимизовать (ну штоби использовалось менше памяти)?
А, еше. Количество значений не ограничиваєтся так как может бить разноє их количество.
Можно даже загружать значения из каково нибуть файла, только как загрузить штоби не требувало так много памяти.
Помогите!Пожалуста
AndrewASV вне форума Ответить с цитированием
Старый 25.09.2007, 18:21   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

ну можно попробовать загружать из файла только те к-рые видно на экране.
Какие именно данные, сколько их?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 25.09.2007, 18:24   #3
AndrewASV
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 11
По умолчанию

Кусочки загружать будет плохо.
Даниє INTEGER
Может бить даних 480000 или даже больше, ну ето у меня будет например 480000 или больше ячеек с значенями INTEGER.
AndrewASV вне форума Ответить с цитированием
Старый 25.09.2007, 19:26   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

integer - 4 байта, но в StringGrid он хранится как строка, больше цифр - больше байт, ты не написал сколько же он памяти занимает?
По приблизительным подсчетам, допустим числа 12-ти значные,
480000*12/1024/1024 = 5.49МБ это очень много?

Главная проблема по моему тут будет не память а время на загрузку и отображения этих данных.
тебе виднее конечно, но я бы поделил на несколько отдельных файлов и сбоку кнопочку для перехода к следующей "странице"
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 25.09.2007, 19:31   #5
AndrewASV
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 11
По умолчанию

я имею ввиду файл подкачки. Под час расчотов и после когда в StringGrid записиваэтса 480000 значений у меня фал подкачки жрет более 955мб, а ето уж очень много (у меня 256мб ОЗУ)
AndrewASV вне форума Ответить с цитированием
Старый 25.09.2007, 19:34   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

ищи утечки памяти
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 25.09.2007, 19:42   #7
AndrewASV
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 11
По умолчанию

Ну не знаю. Покрайней мере я думаю что ето изза огромного количества информации. А где может бить утечка (если она и есть) я покашто не знаю. Но посмотрю и поищу!
AndrewASV вне форума Ответить с цитированием
Старый 26.09.2007, 18:30   #8
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Можете не искать, никакой утечки нет.

Сам лично записывал в Грид числа (суммарно 8 мегабайт = 128*65536*1) Расход памяти так и не увидел (более 700метров) (при моём PIII - 600MHz) я так и не дождался загрузки... Аварийно завершил прогу. (ждал более 3 минут, а вирт. память кушалась и кушалась).
Почему так, объяснить не могу, не знаю. Есть предположение, но не известно точно ли оно, поэтому говорить не буду.
zetrix вне форума Ответить с цитированием
Старый 26.09.2007, 18:57   #9
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

альтернативный компонент не канает ?
ListView например ..
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 26.09.2007, 19:19   #10
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Ну или уже "извращаться окончательно" и чтобы не писать все знеачения сразу писать из Textout-ом на Drawcell
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц