Увеличение скорости работы приложения путем записи в кэш

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Увеличение скорости работы приложения путем записи в кэш

Сообщение sergey-911 » 13.02.2010 (Сб) 20:27

Доброго времени суток уважаемые форумчане.
Оптимизирую скорость работы клиент-серверного приложения.
Заметил, что форма, на которой расположенно множество компонентов (текстбоксы, комбобоксы, кнопки, чекбоксы, календарики и т.п.), при первом отображении, открывается весьма медленно, даже, если в эти компоненты из бд ничего не подгружается. При последующем открытии этой формы ее отображение происходит гораздо быстрее. Более того, и открытие других форм, отображающих аналогичные элементы происходит гораздо быстрее. Предположил, что каким-то хитрым образом данные компоненты кэшируются, после чего, скорость их отображения увеличивается. Конечно, я могу ошибаться, поэтому прошу не судите строго, уважаемые. :oops:
После всего изложенного, решил перед отображением основной формы программы поместить форму в кэш, для того, чтобы в дальнейшем пользователь не ждал отображения формы при нажатии на кнопку тулбара. Для этого программно открываю и закрываю нужную форму.
Код: Выделить всё
            Dim f As New frmKoopEdit
            f.WindowState = FormWindowState.Minimized
            f.Show()
            f.Dispose()

Ничего лучше не придумал.
А теперь вопрос уважаемые.
Как правильно программно поместить форму со всеми компонентами в кэш память для увеличения их скорости отображения?
:shock:
С уважением, Сергей.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Увеличение скорости работы приложения путем записи в кэш

Сообщение Dmitriy2003 » 14.02.2010 (Вс) 13:35

Хотите JIT-Компиляцию переиграть, уважаемый :)

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Re: Увеличение скорости работы приложения путем записи в кэш

Сообщение sergey-911 » 15.02.2010 (Пн) 7:26

Почему переиграть JIT-Компиляцию уважаемый?
С уважением, Сергей.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Увеличение скорости работы приложения путем записи в кэш

Сообщение Денис » 15.02.2010 (Пн) 10:47

Недавно был топик такой! В нем объяснили, что в дотбейсике формы все-равно не будут "кэшироваться", если их не отображать на экран. Так что метод автора, несмотря на кажущуюся кривость один из единственно возможных. И еще, я бы Dispose заменил на Hide.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Увеличение скорости работы приложения путем записи в кэш

Сообщение Dmitriy2003 » 15.02.2010 (Пн) 15:22

Денис писал(а):Так что метод автора, несмотря на кажущуюся кривость один из единственно возможных.

:D Чем это:
Код: Выделить всё
BigForm bigForm = new BigForm();
bigForm.WindowState = WindowStateMinimized;
bigForm.Show();
bigForm.Dispose();

BigForm bigForm = new BigForm();
bigForm.Show();


лучше этого

Код: Выделить всё
BigForm bigForm = new BigForm();
bigForm.Show();

:?:

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Re: Увеличение скорости работы приложения путем записи в кэш

Сообщение sergey-911 » 15.02.2010 (Пн) 19:08

Dmitriy2003 писал(а):
Денис писал(а):Так что метод автора, несмотря на кажущуюся кривость один из единственно возможных.

:D Чем это:
Код: Выделить всё
BigForm bigForm = new BigForm();
bigForm.WindowState = WindowStateMinimized;
bigForm.Show();
bigForm.Dispose();

BigForm bigForm = new BigForm();
bigForm.Show();


лучше этого

Код: Выделить всё
BigForm bigForm = new BigForm();
bigForm.Show();

:?:



Лучше тем, Dmitriy2003, что мне не нужно отображать форму, а только поместить ее в кэш. Поэтому, чтобы не было мерцания формы, я ее сначала минимизирую, а потом убираю вовсе.
С уважением, Сергей.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Увеличение скорости работы приложения путем записи в кэш

Сообщение Dmitriy2003 » 15.02.2010 (Пн) 19:16

sergey-911 писал(а):Поэтому, чтобы не было мерцания формы, я ее сначала минимизирую, а потом убираю вовсе.

В чем суть то :?: где, что - мерцает :?:
Нафига два раза форму грузить - особенно после ваших слов
sergey-911 писал(а):Более того, и открытие других форм, отображающих аналогичные элементы происходит гораздо быстрее.

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Re: Увеличение скорости работы приложения путем записи в кэш

Сообщение sergey-911 » 15.02.2010 (Пн) 19:17

Денис писал(а):Недавно был топик такой! В нем объяснили, что в дотбейсике формы все-равно не будут "кэшироваться", если их не отображать на экран. Так что метод автора, несмотря на кажущуюся кривость один из единственно возможных. И еще, я бы Dispose заменил на Hide.


Денис, скинь плиз ссылку на топик, не могу найти.
И еще хочу спросить, имеет ли значение, какую я форму отображаю, или имеет значение какие я отображаю компоненты? К примеру, мне надо поместить в кэш одну форму, на которой расположены грид, кнопка, комбобокс, а на другой текстбокс, лейбл, календарик, чекбокс и компонент для ввода чисел. В этом случае я должен "закэшировать" 2-е формы, или подойдет вариант, при котором я все эти компоненты (с формы 1 и 2) скопом размещаю на третьей, отображаю ее (3-ю форму) и убираю? Какой вариант предпочтительнее?
С уважением, Сергей.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Увеличение скорости работы приложения путем записи в кэш

Сообщение Денис » 17.02.2010 (Ср) 9:42

Денис, скинь плиз ссылку на топик, не могу найти.


Ссылка на топик
Читать осторожно, ибо там много путаницы, и к своему стыду должен признать, что часть путаницы вносил и я.
Насчет скорости там тоже есть, влияет и количество контролов, и количество кода в процедуре New формы. В общем, читайте.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45

    TopList