Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как экономить ресурсы? [D5, 95/98]


Jimmy ©   (2006-08-27 18:06:00) 

Я тут заметил интересный факт: 5-й PhotoShop занимает всего 4% ресурсов моего PC. А мой скромный графический редактор аж 15%! В нем много компонентов (CheckBox'ов, Edit'ов, форм и т.п.) созданных на этапе разработки. Много глобальных переменных. Может быть задаю не совсем корректный вопрос, но тем не менее. Не подскажите, как надо писать программу, чтобы она кушала меньше ресурсов? По возможности создавать объекты динамически и по мере надобности уничтожать их? Использовать dll? Может что-то еще? Заранее спасибо.


Desdechado   (2006-08-28 19:35:00) [1]

> Даже при скромных размерах идет колоссальная потеря ресурсов.
Так освобождай, а не теряй.

> А если все же объекты создавать не динамически а на этапе разработки на
>  каком-нибудь фрейме
Фреймы только для удобства придумали. А динамическое создание означает Form1.Create ... Form1.Release, а не накидывание в динамике чекбоксов и эдитов на форму.


Jimmy   (2006-08-28 19:26:00) [2]

> Мефисто.
 Дело не в большом Image. Даже при скромных размерах идет колоссальная
 потеря ресурсов.
> Ketmar.
 Не считаю возможным делать свою программу без VCL. Не то, чтобы невозможно, просто как говорит Гребенщиков это будет хуже, чем сифилис.
> Desdechado
 А если все же объекты создавать не динамически а на этапе разработки на
 каком-нибудь фрейме, который поместить в dll. Тогда если этот фрейм в
 какой-то момент времени программе не нужен, память не тратиться?


PZ   (2006-08-28 05:06:00) [3]

> [1] Desdechado ©   (27.08.06 18:08)
>> создавать объекты динамически и по мере надобности уничтожать их

Может быть ... по мере ненадобности уничтожать их


Ketmar   (2006-08-27 21:09:00) [4]

> [11] Eraser ©   (27.08.06 21:05)
зато неплохое упражнение. %-)


Eraser   (2006-08-27 21:05:00) [5]

> [10] Ketmar ©   (27.08.06 20:57)

можно, только чтобы сделать что-то вроди Пэинта прийдется несколько тысяч строк кода только на UI потратить, а потом в этом всем ещё и разбираться, да и с расширяемостью проблемы могут возникнуть..
По-моему, именно для того, чтобы этого избежать и созданы такие инструменты, как Delphi.

А ресурсы в граф. редакторе тратятся, по большей части, уж точно не на UI.


Ketmar   (2006-08-27 20:57:00) [6]

> [7] Eraser ©   (27.08.06 20:49)
"скромный графический редактор" вполне можно сделать и на API.


Мефисто   (2006-08-27 20:56:00) [7]


> Jimmy   (27.08.06 18:06) 


По задаyysv вопросам в медиа, подозреваю, что гуляют там нехилые TBitMap


Мефисто   (2006-08-27 20:56:00) [8]


> Jimmy   (27.08.06 18:06) 


По заданным вопросам в медиа, подозреваю, что гуляют там нехилые TBitMap


Eraser   (2006-08-27 20:49:00) [9]

> [6] Ketmar ©   (27.08.06 20:28)

в данном случае точно не применим, т.к. вряд ли тот же фотошоп написан на чистом API.
Написание проекта с развитым UI на чистом API в лучшем случае приведет к тому, что прект загнется так и не родившись, в худшем - будет создано некое подобие VCL, только более глючное и тормознутое, читать же исходный код такое программы - вообще бесполезное занятие.


Ketmar   (2006-08-27 20:28:00) [10]

> [5] Eraser ©   (27.08.06 20:09)
позволю себе не согласиться. не "вредный" и "не всегда применимый".
заметь, что он был дан уже после [1]. просто увеличение поля выбора.


Eraser   (2006-08-27 20:09:00) [11]

> [2] Ketmar ©   (27.08.06 18:17)
> писать на API. %-)

вредный совет, imho.

> Jimmy   (27.08.06 18:06)


> Как экономить ресурсы?

[1]


Ketmar   (2006-08-27 20:03:00) [12]

ровно то, что написано. не использовать VCL.


Jimmy   (2006-08-27 19:32:00) [13]

Что значит писать на API?


Ketmar   (2006-08-27 18:17:00) [14]

писать на API. %-)


Desdechado   (2006-08-27 18:08:00) [15]

> создавать объекты динамически и по мере надобности уничтожать их


Наверх

Титульная страница Поиск, карта сайта Написать письмо