Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
ВнизУжасно много кушается памяти!!! Найти похожие ветки
← →
DEVELA (2007-06-13 10:47) [0]Программа из более чем 200 форм MDI, использующая классы:
Application,TBatchMove,TBevel,TBitBtn,TBitmap,
TBrush,TButton,TButtonControl,TBytesField,TCanvas,TCheckBox,
TClipboard,TColorDialog,TComboBox,TComboButton,TComboButton,
TCommonDialog,TComponent,TControl,TControlCanvas,TControlScrollBar,
TCurrencyField,TCustomCheckBox,TCustomComboBox,TCustomControl,
TCustomDBGrid,TCustomEdit,TCustomGrid,TCustomGroupBox,
TCustomLabel,TCustomListBox,TCustomMaskEdit,TCustomMemo,
TCustomOutline,TCustomPanel,TCustomRadioGroup,TDBCheckBox,
TDBComboBox,TDBDataSet,TDBEdit,TDBImage,TDBListBox,TDBLookupCombo,
TDBLookupList,TDBMemo,TDBRadioGroup,TDBText,TDataLink,TDataSet,
TDdeMgr,TDdeServerConv,TDdeServerItem,TDirectoryListBox, TDrawGrid,TDriveComboBox,TEdit,TField,TFieldDataLink,TFieldDef,TFieldDefs,TFileL istBox,
TFontDialog,TForm,TGraphic,TGraphicControl,
TGraphicField,TGraphicsObject,TGridDataLink,TGroupBox,
TLabel,TMainMenu, TSpeedButton, TBitmap, TIcon,
TMaskEdit,TMediaPlayer,TMemo,TMemoField,TMenu,TMenuItem,TMetafile,
TNavButton,TNavDataLink,TNotebook,
TNumericField,TOpenDialog,TOutline,TOutlineNode,
TPage,TPaintBox,TPanel,TParam,tpicture,
TPersistent,TPicture,TPopupGrid,TPopupMenu,TPrinterSetupDialog,
TQuery,TRadioButton,TRadioGroup,TReplaceDialog,
TSaveDialog,TScreen,TScrollBar,TScrollBox,TScrollingWinControl,
TSession,TShape,TSmallintField,TSpeedButton,
TStoredProc,TStringField,TStringGrid,TStringGridStrings,TStringList,TStrings,
TTabSet,TTable,TTimeField,TTimer,TVarBytesField,TWinControl,
TWordField, TControl, TControlCanvas, TCustomControl,TCustomListControl,TCustomMultiSelectListControl,
TGraphicControl, THintWindow,TImageList, TSizeConstraints, TBoundLabel,
TColorBox,TControlBar,TCustomControlBar,THeader,
TImage,TLabeledEdit,TIdEncoderXXE, Tanimate, TCustomHeaderControl,
TCustomListView, TCustomTabControl,
TCustomTreeView,
THeaderControl, THeaderSection, THeaderSections,TIconOptions,
TListColumn, TListColumns, TListItem, TListItems,
TListView, TPageControl, TProgressBar, TStatusBar, TStatusPanel,
TStatusPanels, TTabControl, TTabSheet,TToolBar,
TToolButton,TTrackBar,TTreeNode, TTreeNodes, TListBox,TForm,TTreeView
и юниты
Windows, SysUtils , Classes,
Graphics, Forms , Controls,
Menus, StdCtrls , Dialogs,
Buttons, Messages , ExtCtrls,
ComCtrls, StdActns , ActnList,
ToolWin, ImgList , DB,
ADODB, jpeg , typinfo,
OUTLINE, DBTABLES , DBGRIDS,
MASK, DBCTRLS , DDEMAN ,
FILECTRL, tabs , DBLOOKUP,
MPLAYER, CLIPBRD , SysConst,
uINN_PF, WinInet , registry,
Grids, IWControl , IWCompEdit,
IWDBStdCtrls,IdBaseComponent, IdCoder,
IdCoder3to4, IdCoderUUE , IdCoderXXE,
OleCtrls, AgentObjects_TLB, XPMan,
WinSkinStore,WinSkinData , oaTypes, uINIControl, inifiles,
UrlMon,
oaAssist, IdComponent, IdCustomTCPServer, IdMappedPortTCP, IdIPAddrMon,
IdIPWatch, AppEvnts, ActnMan, ActnColorMaps, TeeProcs, TeEngine, Chart
Уж очень много хавает памяти, почти 64 Мега, подскажите как можно уменьшить объем используемой памяти, или хотябы распределять ее во время работы программы а не при загрузке. Вариант использовать sharemem, не использовать VCL, и вообще сократить использование в uses"ах исключены!!!
Работаю на Borland Delphi 2006
← →
clickmaker © (2007-06-13 10:51) [1]
> распределять ее во время работы программы а не при загрузке
надеюсь, все формы не в autocreate?
← →
Сергей М. © (2007-06-13 11:03) [2]
> IWControl , IWCompEdit,
> IWDBStdCtrls
Интересно, что делают эти юниты в uses, если приложение явно GUIшное и ни один из классов, декларированных/реализованных в этих юнитах, не фигурирует в упомянутом списке ?
Если копнуть глубже, то, пожалуй, можно найти еще не один такой юнит, бестолково упомянутый в uses.
← →
Desdechado © (2007-06-13 11:38) [3]1. Сократить использование украшательств на формах.
2. Не держать открытыми постоянно датасеты с большим числом записей. И вообще не выбирать данных по многу.
← →
grisme © (2007-06-13 13:28) [4]ну, думаю, если уж проект имеет такой масштаб, то разработчики не хранят датасеты открытыми %-) вообще, это даже странновато. а вот по оптимизации что тут сказать, нужно оставить все как есть ) ибо для такой софтины 64 метра вроде не так много. а если и много, то значит изначально неверно проектировалось и в конце-концов развалится =\
← →
DVM © (2007-06-13 14:01) [5]
> Уж очень много хавает памяти, почти 64 Мега
Это много по-вашему?
← →
Котик Б (2007-06-13 14:57) [6]Аааааааа......
у меня программа с таким кодом
IBQuery1.Close();
IBQuery1.SQL.Text := "select * from VIEW$GET_FULL_STRUCTURE";
IBQuery1.Open();
IBQuery1.FetchAll();
занимает 256 Метров !!!
Помогите :)))
← →
Dust © (2007-06-14 13:03) [7]2 Котик Б
Именно так. т.е. почти...
IBQuery1.Close();
IBQuery1.Open();
while not IBQuery1.eof do
begin
....
IBQuery1.Next;
end;
Мне как-то пришлось тулзу писать с вот таким кодом, другого подхода я тогда не придумал. Смысл был в том, чтобы обработать большой массив данных из запроса (запрос возвращал блобы).
Ежли такой умный, может подскажешь, что нужно было делать, а то мы запускали тулзу раз эдак 15 в связи с окончанием свободной памяти системы.
← →
Desdechado © (2007-06-14 13:07) [8]> обработать большой массив данных из запроса (запрос возвращал блобы).
Если ты фетчишь все, то будут проблемы. А ты не фетч и используй датасет с опцией Unidirectional. Тогда на клиенте в каждый момент только одна запись.
← →
Anatoly Podgoretsky © (2007-06-14 13:09) [9]> то будут проблемы.
Уже есть.
← →
Dust © (2007-06-14 13:30) [10]это было год назад, и я совершенно точно помню что Unidirectional я менял и туда и обратно. Собственно что я тогда только не менял. если выбирать те же самые блобы и упростить код до безобразия:
IBQuery1.Open();
while not IBQuery1.eof do
begin
IBQuery1.Next;
end;
получим те же самые результаты. и таких экспериментов было проведено тогда не мало.
← →
Desdechado © (2007-06-14 13:42) [11]> таких экспериментов было проведено тогда не мало.
Наобум или использовалась теория планирования эксперимента?
TIBDataSet пробовал?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c