Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Долго запускается проект / 10 сообщений из 10, страница 1 из 1
27.08.2015, 03:41
    #39037132
stim24
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
Сделан проект.
В нем конечно в References подключены библиотеки такие Telerik, Entity
При загрузке проекта ни каких функций не делается, разве что entity устанавливает соединение с БД.
При запуске проекта пользователю приходиться ждать он даже не знает запустился проект или нет.
Можно это как ускорить? Или как-то заранее вызвать форму чтобы она уже висела

Делал даже так.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        static void Main()
        {
            CData.FormLogo.Show(); // показываю форму лого

            CData.Setting.filename = Application.StartupPath+"\\setting.xml";
            CData.Setting.ParamLoadXML();
            CData.Form = new FormMain();
            CData.Model = new STSkladEntities(CData.Setting.SQLConnectStringEntity());
            CData.FormLogo.Correct();

            Application.EnableVisualStyles();
            //Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(CData.Form);
        }



Дак даже форма Logo показывается очень поздно.
...
Рейтинг: 0 / 0
27.08.2015, 06:27
    #39037146
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
stim24Сделан проект.
В нем конечно в References подключены библиотеки такие Telerik, Entity
При загрузке проекта ни каких функций не делается, разве что entity устанавливает соединение с БД.
При запуске проекта пользователю приходиться ждать он даже не знает запустился проект или нет.
Можно это как ускорить? Или как-то заранее вызвать форму чтобы она уже висела



Дак даже форма Logo показывается очень поздно.попробуй без отладки запустить
...
Рейтинг: 0 / 0
27.08.2015, 08:01
    #39037157
stim24
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
Release тоже долго запускается.
...
Рейтинг: 0 / 0
27.08.2015, 08:21
    #39037164
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
В Main показывать пользователю сплэш-форму, а из сплэш-формы после её показа создавать FormMain, грузить энтити-иксэмэли, и проч. По окончании инициализации главного хозяйства (после открытия FormMain) закрыть сплэш-форму.
...
Рейтинг: 0 / 0
27.08.2015, 11:12
    #39037277
stim24
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
Дак я воде и делаю Show (FormLogo) в начале.
...
Рейтинг: 0 / 0
27.08.2015, 13:04
    #39037411
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
через Perfomance Analazer посмотрите, где конкретно тормозит, мы не экстрасенсы.
...
Рейтинг: 0 / 0
27.08.2015, 13:32
    #39037458
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
stim24Дак я воде и делаю Show (FormLogo) в начале.
Сон Веры Павловныа из сплэш-формы после её показа создавать FormMain, грузить энтити-иксэмэли, и проч.
В данном случае метод CData.FormLogo.Show() отрабатывает асинхронно, а после его вызова следует тяжелая операция, блокирующая основной поток, которая просто не дает отрисоваться сплэшу. Показывать сплэш нужно как-то так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
static class Program
{
  [STAThread]
  static void Main()
  {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Form1 splashForm = null;
    var splashThread = new Thread(() =>
    {
      splashForm = new Form1(); // сплэш-форма
      Application.Run(splashForm);
    });
    splashThread.SetApartmentState(ApartmentState.STA);
    splashThread.Start();
    var mainForm = new Form2(); // главная форма.
    mainForm.Load += (s, e) => splashForm.BeginInvoke((Action) (() => splashForm.Close()));
    Application.Run(mainForm);
  }
}


Разумеется, сплэш-форма тоже будет заморожена, но она вполне успеет отрисоваться, и появиться на экране.
...
Рейтинг: 0 / 0
30.08.2015, 16:07
    #39039343
stim24
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
Сделал разными потоками как посоветовал Сон Веры Павловны и стало все окей
...
Рейтинг: 0 / 0
30.08.2015, 19:43
    #39039384
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
stim24Сделал разными потоками как посоветовал Сон Веры Павловны и стало все окей
Да, интересный способ. Возьму на вооружение
...
Рейтинг: 0 / 0
31.08.2015, 08:36
    #39039529
bobsoft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долго запускается проект
stim24,
Может после
CData.FormLogo.Show();
надо application.doevents поставить ?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Долго запускается проект / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]