Регистрация
Регистрация Поиск Сообщество  
CGM > Всякая всячина > Поговорим за жизнь
Опции темы

Непонятные тормоза в Delphi

Важные объявления
Старый 12.05.2006, 15:40     TS Старый   #1 (permalink)
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Случайно заметил, что некоторые стандартные компоненты (Delphi 7) одним своим присутствием в программе (т.е. просто кидаешь их на форму без всякого кода) существенно замедляют выполнение. Например, время расчета (простой перебор вариантов в покере) увеличивается на 25-30%. Вот некоторые из них:
CheckBox
ListBox
ComboBox
GroupBox
SpeedButton
MaskEdit
StringGrid
DrawGrid
CheckListBox
StaticText
ProgressBar
UpDown
TreeView
и некоторые другие. Кто знает, в чем дело???
__________________
Arthur Grey
Grey вне форума      
Старый 12.05.2006, 16:10   #2 (permalink)
Увлечённый
 
Регистрация: 13.02.2004
Адрес: Moscow
Сообщений: 556
Может ты делаешь частый Refresh всей формы (включающей все эти компоненты)?
Если так, то попробуй рефрешить только те лейблы, в которых реально обновляется информация.
Jack Daw вне форума      
Старый 12.05.2006, 16:57     TS Старый   #3 (permalink)
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Да нет, во время расчета вообще никакого обновления не делаю.
__________________
Arthur Grey
Grey вне форума      
Старый 12.05.2006, 18:59     TS Старый   #4 (permalink)
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Похоже, глюк как-то связан с аппаратной конфигурацией компа. Проверил на другом железе (P1-200) -- эффект начисто отсутствует.
__________________
Arthur Grey
Grey вне форума      
Старый 12.05.2006, 22:24   #5 (permalink)
Бессмертный
 
Аватар для Gnome
 
Регистрация: 21.05.2005
Адрес: Москва
Сообщений: 6,763
Отправить сообщение для Gnome с помощью ICQ
ну зато на делфи писать проще, пусть проги весят больше и ресурсов жрут больше, зато геморроя меньше, попробуй тоже самое на си например написать, работать будет быстрее скорее всего, но писать труднее
Gnome вне форума      
Старый 12.05.2006, 22:39   #6 (permalink)
Участник
 
Регистрация: 30.06.2005
Адрес: Калуга
Сообщений: 190
В свое время переносил проги с делфи на Си в полтора раза быстрей
работают. И буковок набирать меньше
А сложность мне кажется таже, синтаксис выучил и вперед
mikx вне форума      
Старый 13.05.2006, 06:21     TS Старый   #7 (permalink)
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Цитата:
Сообщение от Gnome писал
тоже самое на си например написать, работать будет быстрее скорее всего, но писать труднее
Писать не труднее, труднее потом разбираться, что написал А скорость работы программы больше зависит от того, откуда руки растут. Если в критическом "горлышке" неэффективный алгоритм, то хоть на ассемблере пиши, толку не будет.
__________________
Arthur Grey
Grey вне форума      
Старый 13.05.2006, 10:27   #8 (permalink)
Участник
 
Регистрация: 30.06.2005
Адрес: Калуга
Сообщений: 190
Цитата:
Сообщение от Grey писал сб, 13 мая 2006 06:21
Цитата:
Сообщение от Gnome писал
тоже самое на си например написать, работать будет быстрее скорее всего, но писать труднее
Писать не труднее, труднее потом разбираться, что написал А скорость работы программы больше зависит от того, откуда руки растут. Если в критическом "горлышке" неэффективный алгоритм, то хоть на ассемблере пиши, толку не будет.
Один и тотже код написанный на делфи и си на си работает
быстрее в 1,5 раза. (покрайней мере так было 3 года назад)
mikx вне форума      
Старый 13.05.2006, 13:06   #9 (permalink)
Старожил
 
Регистрация: 14.03.2005
Адрес: Moscow
Сообщений: 1,078
Цитата:
Сообщение от mikx писал сб, 13 мая 2006 10:27
Цитата:
Сообщение от Grey писал сб, 13 мая 2006 06:21
Цитата:
Сообщение от Gnome писал
тоже самое на си например написать, работать будет быстрее скорее всего, но писать труднее
Писать не труднее, труднее потом разбираться, что написал А скорость работы программы больше зависит от того, откуда руки растут. Если в критическом "горлышке" неэффективный алгоритм, то хоть на ассемблере пиши, толку не будет.
Один и тотже код написанный на делфи и си на си работает
быстрее в 1,5 раза. (покрайней мере так было 3 года назад)
ну Си у нас тоже разные бывают, есть же еще такой Си, как Билдер.
С ним как раз происходит обратная ситуация.
Я как то так же начитавшись про бытродействие Си решил на нее проги перевести. Ну поставил Билдер, перевел, а оказалось даже медленнее и гораздо масивнее, так что вот так.
backgammon вне форума      
Старый 13.05.2006, 13:58   #10 (permalink)
Участник
 
Регистрация: 30.06.2005
Адрес: Калуга
Сообщений: 190
Цитата:
Сообщение от backgammon писал сб, 13 мая 2006 13:06
Я как то так же начитавшись про бытродействие Си решил на нее проги перевести. Ну поставил Билдер, перевел, а оказалось даже медленнее и гораздо масивнее, так что вот так.
Раньше код Builder C++ работал гораздо быстрее кода Делфи - это точно.
Участки кода не связанные с интерфейсом в VS работають немного быстрее
Builder C++
mikx вне форума      
Старый 13.05.2006, 14:02     TS Старый   #11 (permalink)
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Цитата:
Сообщение от mikx писал
Один и тотже код написанный на делфи и си на си работает быстрее в 1,5 раза. (покрайней мере так было 3 года назад)
Какой компилятор? Хотелось бы проверить.
__________________
Arthur Grey
Grey вне форума      
Старый 13.05.2006, 17:19   #12 (permalink)
Участник
 
Регистрация: 30.06.2005
Адрес: Калуга
Сообщений: 190
Проверь на Builder6 C++ таже дельфи только сбоку
mikx вне форума      
Старый 13.05.2006, 17:50   #13 (permalink)
Энтузиаст
 
Аватар для Sphinx
 
Регистрация: 07.01.2006
Адрес: Москва
Сообщений: 268
ПРограммирую как в MS VC++ так и в Delphi, но предпочтение отдаю всё же С++, так как приятнее работать именно в том, что знаешь лучше...
Насчёт быстроты работы одних и тех же алгоритмов в С++ и в Delphi не проверял, но очевидно, что плата за лёгкость создания API проектов простым щёлканием клавиатуры выливается Вам в кучу просто так затраченного процессорного времени, уходящего на исполнение каких-нибудь общих операций объявления параметров, которые при решении данной задачи даже трогаться не будут... За всё приходится платить, так что всем рекомендую писать код самому и отвечать за "каждую его строчку" , как говорит мой знакомый
__________________
Дорогу осилит идущий...
Sphinx вне форума      
Старый 13.05.2006, 17:51   #14 (permalink)
Старожил
 
Регистрация: 14.03.2005
Адрес: Moscow
Сообщений: 1,078
Цитата:
Сообщение от mikx писал сб, 13 мая 2006 17:19
Проверь на Builder6 C++ таже дельфи только сбоку
хм.
Писал я для института часики.
Ну такие простые совсем, по таймеры меняли циферки, ну типа первых электронных будильников. Еще они могли отображать время в двоичной системе.
Так вот в Дельфи 7, это действо весило 380кб, что мне оказалось много и я быстренько переписал в Билдере 6-ом. Там они весили уже 1,5 мб или даже больше.
Там была одна форма, TImage и таймер.
backgammon вне форума      
Старый 13.05.2006, 18:12   #15 (permalink)
Аксакал
 
Регистрация: 14.05.2005
Адрес: Санкт-Петербург
Сообщений: 1,667
Отправить сообщение для RHnd с помощью ICQ
Хе, а на нормальном C писать не пробовали? Все-таки лучше Visual C++ ничего в этом плане нет.
RHnd вне форума      
Старый 13.05.2006, 18:16   #16 (permalink)
Участник
 
Регистрация: 30.06.2005
Адрес: Калуга
Сообщений: 190
2Sphinx
Писать все самому можно но ооооочень долго, поэтому приходиться использовать готовый код.

2backgammon
А про размер никто не говорит, тут про скорость речь

2RHnd
Visual C++ согласен рулит
mikx вне форума      
Старый 13.05.2006, 18:26   #17 (permalink)
Старожил
 
Регистрация: 14.03.2005
Адрес: Moscow
Сообщений: 1,078
Цитата:
Сообщение от RHnd писал сб, 13 мая 2006 18:12
Хе, а на нормальном C писать не пробовали? Все-таки лучше Visual C++ ничего в этом плане нет.
пробовал, не понравилось. Учился я с паскаля, может от этого "любовь" к дельфи, так же и сервер баз данных первым был Интербейз.
Хотя сейчас использую MSSQL но все равно с тем же дельфи. А сейчас я уже не имею ни малейшего желания уходить с дельфи, да и надобности нет, понадобится, уйду.

Цитата:
Сообщение от mikx писал сб, 13 мая 2006 18:16
2Sphinx
2backgammon
А про размер никто не говорит, тут про скорость речь
хм, верно, где то я упустил основную мысль...
backgammon вне форума      
Старый 13.05.2006, 18:40   #18 (permalink)
Ветеран
 
Регистрация: 26.11.2005
Адрес: Минск
Сообщений: 1,242
А что мешает в делфях писать на WinAPI? Если кому нужно, могу книжечку поискать в эл-виде.
__________________
Единственный способ стать умнее -- играть с более умным противником. // Основы шахмат\'1883
Sharky вне форума      
Старый 13.05.2006, 18:45   #19 (permalink)
Энтузиаст
 
Аватар для Sphinx
 
Регистрация: 07.01.2006
Адрес: Москва
Сообщений: 268
to mikx
Не соглашусь с тобой. Всё дело опыта - на VC++ проги пишутся как штамп поставить (надо просто потратить немного времени на то, чтобы научиться это делать - оно потом окупиться с лихвой ).

to backgammon
Я тоже учился изначально прогать на Pascal, но потом, когда понял , что используя С++ можно достичь всего того же и быстрее, то быстро перестроился (сейчас иногда пишу программы для мобильного на языке, очень похожем на Pascal - но иногда ошибки проскакивают от С++ языка - подсознание на нём варит и ничего тут не попишешь )
__________________
Дорогу осилит идущий...
Sphinx вне форума      
Старый 13.05.2006, 19:08     TS Старый   #20 (permalink)
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Цитата:
Сообщение от backgammon писал
Так вот в Дельфи 7, это действо весило 380кб, что мне оказалось много
Ну 360K весит пустая форма, а если размер напрягает, то что мешает утоптать каким-нибудь упаковщиком екзешников. Ну или как тут верно заметили, отказаться от VCL и использовать только Win API.
__________________
Arthur Grey
Grey вне форума      

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DIR 615 непонятные обрывы screamwithme Железо 7 26.04.2010 00:36
Три непонятные мне раздачи. L!sichka Одностоловые турниры 2 05.11.2009 07:25
Непонятные мне лимпы %-\\ Karn Многостоловые турниры 3 19.05.2009 01:30
Непонятные статы GreyNW Покер софт 11 15.03.2009 23:06
Непонятные мне ситуации. HollanderSk8er Одностоловые турниры 18 07.02.2009 02:51



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.

Быстрый переход
Правила форумов CGM Контакты Справка Обратная связь CGM.ru Архив Вверх Главная
 
Использование материалов сайта разрешено только при наличии активной ссылки на источник.
Все права на картинки и тексты принадлежат Информационному агентству CGM и их ПАРТНЕРАМ. Политика конфидециальности
CGM.ru на Youtube CGM.ru на Google+ CGM.ru в Twitter CGM.ru на Facebook CGM.ru в vKontakte CGM.ru в Instagram

В сотрудничестве с Pokeroff.ru
Текущее время: 23:48. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot