Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Много пунктов в главном меню, и все начинает тормозить 
V
    Опции темы
LamerTM
Дата 1.7.2006, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 11.3.2006

Репутация: нет
Всего: 0



Есть главная форма, в ней главное меню. Форма типа MDIForm. В ней создается MDIChild, в котором есть TChart на котором рисуется график. Главное меню имеет пункт "File", в котором есть список из 10 недавних файлов. Есть там также пункт "Additional Recent" при наведении на который курсора мыши открывается подменю этого пункта, которое содержит список из 90 элементов типа TMenuItem (это опять же недавно использованные файлы). Таким образом, общее количество недавних файлов может достигать 100 штук.
Явление такое. Если общее количество недавних файлов небольшое (например 10), то все работает нормально: график на TChart у дочернего окна рисуется быстро. Но если количество недавних файлов (и как следствие количество пунктов TMenuItem в главном меню) становится большим, то рисование на TChart у дочернего окна сильно затормаживается.
Вопрос такой. Почему это происходит и как от этого избавиться (оставив при этом 100 объектов TMenuItem). 
PM MAIL   Вверх
Yanis
Дата 1.7.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(LamerTM @  1.7.2006,  23:44 Найти цитируемый пост)
Почему это происходит

Банально - очень много элементов.

Цитата(LamerTM @  1.7.2006,  23:44 Найти цитируемый пост)
как от этого избавиться

Использовать альтернативное меню, не наследника от TMainMenu.
Если честно, то вариант с таким огромным количеством пунктов очень меня напряг бы как пользователя твоей программы. Может тебе не делать подменю у "Additional Recent" в таком кол-ве, а просто оформить её отдельным пунктом и при нажатии на неё выводить отдельную форму с ListBox'ом. В нём можешь уже размещать список хоть из 1000 файлов.  

Это сообщение отредактировал(а) Yanis - 1.7.2006, 23:15


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Palladin
Дата 1.7.2006, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Дак ты зделай чтоб отображалось только последние 5-10, а остальные забивай куднаить, и в меню сделай ещё одну кнопку , допустим "Показать последние 100:)" при нажатии на которую будет считыватся данные и отображаться smile  


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
LamerTM
Дата 2.7.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 11.3.2006

Репутация: нет
Всего: 0



Понятно. Сделаю иначе. Только не понимаю какая связь между скоростью и количеством элементов в TMainMenu. Неужели они так много памяти занимают и процессорного времени?
Цитата

Использовать альтернативное меню, не наследника от TMainMenu.

Значит именно TMainMenu чем-то плох, правильно? И почему? Может вообще тогда его из программы убрать и все еще быстрее будет работать? 
PM MAIL   Вверх
Palladin
Дата 2.7.2006, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Нет убирать ненадо, просто организуй его работу smile  


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0436 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.