-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


Direct2D и мультипоточность

Пятница, 21 Августа 2020 г. 12:43 + в цитатник
Black_Dragon: В начале кода инициализации самого приложения имеем:
EnableD2DSupport(D2D1_FACTORY_TYPE_MULTI_THREADED);

В окне рисования, при его создании, создаем заготовки кистей (64 тыс)
    #pragma omp parallel for num_threads(4)
    for (COL r = 0; r < cColCount; ++r)
    {
    for (COL g = 0; g < cColCount; ++g)
    for (COL b = 0; b < cColCount; ++b)
    {
    const UNum ind = CTreeColor::GetID(r, g, b);
    m_pArrBrush[ind] = new CD2DSolidColorBrush(render, CTreeColor::GetColor(r, g, b), NULL, FALSE);
    }
    }

Вообщем, после создании нескольких кистей висит в ожидании из "new CD2DSolidColorBrush".
Без omp все нормально.
Просто, эта процедура занимает несколько секунд...

https://forum.sources.ru/index.php?showtopic=419404&view=findpost&p=3837403

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку