Форум программистов, компьютерный форум CyberForum.ru

Непонятные тормоза с потоками - Windows Phone

Восстановить пароль Регистрация
 
jenokizm
14 / 30 / 8
Регистрация: 27.03.2014
Сообщений: 599
07.10.2014, 21:16     Непонятные тормоза с потоками #1
Есть кнопка которая загружает из интернета определенную информацию
C#
1
2
3
4
5
6
private async void updateNowButton_Click(object sender, RoutedEventArgs e)
        {
            ProgressBarUpdateTop.Visibility = Visibility.Visible;
            await getMethod("all");
            ProgressBarUpdateTop.Visibility = Visibility.Collapsed;
        }
Так вот, не работает она как хотелось бы... Информации много, кнопка подвисает в зажатом состоянии секунд 10, а потом отвисает после получения всех инфы, и таким образом ProgressBarUpdateTop даже не успевает появится...
Непойму в чем проблема, await поидее должен освободить поток пока getMethod не выполнится...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2014, 21:16     Непонятные тормоза с потоками
Посмотрите здесь:

Тормоза с SysListView32 C++ WinAPI
Температура и тормоза
Софт Тормоза с XP
hdd и тормоза
Ubuntu и тормоза Ubuntu Linux
Windows 7 Жуткие тормоза
Windows 7 Тормоза в играх
C++ COM Word automation + Windows server 2008 R2 = тормоза(очень сильные тормоза)
Непонятные тормоза в играх; прочистка, замена комплектующих и ПО не помогли
Windows 7 Тормоза в интернете
Acer Aspire V3 551G [Тормоза и непонятные вещи]
Непонятные тормоза

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
08.10.2014, 16:12     Непонятные тормоза с потоками #2
вы блочите UI-поток скорее всего.
пустите в Task.Run
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
10.10.2014, 08:49     Непонятные тормоза с потоками #3
jenokizm, Он не освобождает, он ждет возврата из метода.
В вашем данном конкретном случае, если getMethod выполняется на том же треде, что и вызов, await ничего не изменит.
za5
440 / 344 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
13.10.2014, 01:45     Непонятные тормоза с потоками #4
page.Dispatcher.RunAsync
jenokizm
14 / 30 / 8
Регистрация: 27.03.2014
Сообщений: 599
15.10.2014, 19:27  [ТС]     Непонятные тормоза с потоками #5
Попробовал так
C#
1
            await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => getMethod("all"));
не канает(

Добавлено через 18 минут
Получилось вот так!
C#
1
2
3
4
            await Task.Run(async () =>
    {
            await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => getMethod("all"));
    });
ну и понакручено же
Yandex
Объявления
15.10.2014, 19:27     Непонятные тормоза с потоками
Ответ Создать тему
Опции темы

Текущее время: 06:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru