Форум: "KOL";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
ВнизЗанимаемая память программы (Task manager) Найти похожие ветки
← →
ctapik © (2004-03-01 18:13) [0]Уменьшение размера программы в памяти используя KOL, это конечно хорошо. А вот как обстоит дело с размером программы в опер. памяти? Решил создать простое приложение (одна форма). Получилось 3992K (Пример TestKOL). Не слишком ли многовато. Есть ли какие нить пути к уменьшению? Если есть, то какие. Заранее благодарен.
← →
Dimaxx © (2004-03-01 21:49) [1]Создал пустую форму на КОЛе и на winapi. Размер практически одинаковый (winapi - 1.6 мега, KOL - 1.8 мега). Но (да простит меня Владимир) KOL тормоз каких мало! У меня в тестовом приложении парсится модель корабля из текстового файла объемом 1.3 мега. VCL-реализация парсит и выводин на opengl за 3 секунды, а КОЛ - ажно за 7!!! И opengl-вращение модели на КОЛ тормознее в полтора раза. А объем на КОЛ - 72 кб (гут), на VCL - почти 500 кило (ни хрена не гут). Но придется остановиться на VCL - так как быстрее.
← →
SPeller © (2004-03-02 02:05) [2]Попробуй менеджер памяти VCL-овский подключить. Тот что используется в КОЛ медленнее, но кода меньше добавляет.
← →
SPeller © (2004-03-02 07:29) [3]Тут вот обсуждалось это:
http://delphimaster.net/view/11-1071442374/
Из этого я понял что если использовать дельфийский менеджер, то скорость работы не должна уступать VCL.
← →
Владимир Кладов (2004-03-02 14:55) [4]если не используется замена system.pas, или при включенной замене вызыван UseDelphiMemoryManager, тормозов быть не может. А парсить надо без использования AnsiStrings, и тогда хоть с менеджером хоть без менеджера будет в 20 раз быстрее работать.
← →
Dimaxx © (2004-03-03 23:59) [5]Без ansistring я понял, но если нужно парсить строку заведомо более 255 символов длиной. Тогда как быть?
← →
Boguslaw (2004-03-04 00:40) [6]Yes, AnsiString is reason for big memory consumption. I create small program in KOL/WinAPi without using AnsiString and he is only 20kb on disk and about 456 kb in memory.
How about using another memory menager ? I heard that there is small and fast implementation which avoid memory defragmentation.After all - how about test with form with many BitBtn controls when UseDelphiMemoryManager is used ? Is it still frozen ?
← →
Boguslaw (2004-03-04 00:42) [7]By the way , shoudn"t KOL be small, powerfull but also as fast as VCL (or faster)? I think it also important ?
← →
Dimaxx © (2004-03-04 23:16) [8]Замену системников отключил - все равно медленно грузит. А почему opengl в КОЛ работает в 1.5-2 раза тормознее - не догнал. :-)
← →
SPeller © (2004-03-04 23:24) [9]
> А почему opengl в КОЛ работает в 1.5-2 раза тормознее -
> не догнал. :-)
UseDelphiMemoryManager использовал?
> Без ansistring я понял, но если нужно парсить строку заведомо
> более 255 символов длиной. Тогда как быть?
PChar?
← →
Gandalf © (2004-03-05 12:59) [10]2Dimaxx
Ничего не медленней - OGL так же шпарит.
← →
SPeller © (2004-03-05 13:02) [11]Сегодня сам проверил — UseDelphiMemoryManager ускоряет работу программы.
← →
Gandalf © (2004-03-05 19:18) [12]2SPeller
Ну если верщинки из памяти бросать - то понятно, но OGL тут так сказать не причем - он сам не быстрее, не медленнее работает. Тестировать лучше на списках.
← →
Dimaxx © (2004-03-05 22:04) [13]OpenGL (не KOLOGL) VCL существенно быстрее...
← →
SPeller © (2004-03-06 06:10) [14]
> Тестировать лучше на списках.
А у меня прога и так со списками. StrListEx. Только, блин, на 8 КБ размер увеличивает :(
← →
Dimaxx © (2004-03-07 00:23) [15]Кстати о птичках. Пользуясь случаем прошу Владимира поправить код для StrList - он не берет строки, если их окончание не #13#10 - все строки лепятся в одну и трабла обнимает весь проект. VCL"овский берет любые. И уж совсем не в тему прошу добавить функцию StrRepalceAll для замены всех найденных шаблонов на указанный, а не только первого.
← →
SPeller © (2004-03-07 02:24) [16]
> StrRepalceAll для замены всех найденных шаблонов на указанный
Уже предлагалось. Но вроде решили что while StrReplace do; лучше.
← →
Dimaxx © (2004-03-07 22:06) [17]Может не лучше, а медленней? И чем лучше? (я серьезно).
← →
SPeller © (2004-03-08 03:12) [18]Напиши у себя эту функцию и юзай :) По-моему Владимир мне так говорил )
← →
Dimaxx © (2004-03-08 22:14) [19]По-видимому, придется...
← →
Maxim Pushkar (2004-03-09 23:57) [20]while StrReplace do; не всегда работает. В случае замены X на XY программа зациклится.
P.S. Себе я подобную функцию написал, но не мешало бы включить такую функцию в стандарт. Слишком уж много желающих.
← →
Dimaxx © (2004-03-10 23:22) [21]Кстати, пост оффтопный: не работают соьытия OnChar и OnKeyDown для формы! Приходится лезть в OnMessage. Надоть пофиксить - это давно тянется. Версия 1.91 уже.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.035 c