<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=419404&amp;view=findpost&amp;p=3837403</guid>
        <pubDate>Fri, 21 Aug 2020 09:43:24 +0000</pubDate>
        <title>Direct2D и мультипоточность</title>
        <link>https://forum.sources.ru/index.php?showtopic=419404&amp;view=findpost&amp;p=3837403</link>
        <description><![CDATA[Black_Dragon: В начале кода инициализации самого приложения имеем:<br>
EnableD2DSupport(D2D1_FACTORY_TYPE_MULTI_THREADED);<br>
<br>
В окне рисования, при его создании, создаем заготовки кистей (64 тыс)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#pragma omp parallel for num_threads(4)</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (COL r = 0; r &#60; cColCount; ++r)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for (COL g = 0; g &#60; cColCount; ++g)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (COL b = 0; b &#60; cColCount; ++b)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;const UNum ind = CTreeColor::GetID(r, g, b);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_pArrBrush[ind] = new CD2DSolidColorBrush(render, CTreeColor::GetColor(r, g, b), NULL, FALSE);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Вообщем, после создании нескольких кистей висит в ожидании из &quot;new CD2DSolidColorBrush&quot;.<br>
Без omp все нормально.<br>
Просто, эта процедура занимает несколько секунд...]]></description>
        <author>Black_Dragon</author>
        <category>Программирование графики</category>
      </item>
	
      </channel>
      </rss>
	