<?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=429350&amp;view=findpost&amp;p=3874531</guid>
        <pubDate>Wed, 24 Aug 2022 16:35:13 +0000</pubDate>
        <title>Сколько хэлоу-ворлдов ни пиши - императором не станешь&amp;#33;</title>
        <link>https://forum.sources.ru/index.php?showtopic=429350&amp;view=findpost&amp;p=3874531</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=429350&view=findpost&p=3874481'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2022-08-23T22:18:46+03:00">23.08.22, 19:18</time></span><div class='quote '>Вопрос, конечно, интересный. Только причём тут Rust ?</div></div><br>
Просто хочется как-то начать изучать Раст, для это нужно начать делать что-то дельное. Ну я GUI и выбрал.]]></description>
        <author>Majestio</author>
        <category>Rust</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429350&amp;view=findpost&amp;p=3874481</guid>
        <pubDate>Tue, 23 Aug 2022 19:18:46 +0000</pubDate>
        <title>Сколько хэлоу-ворлдов ни пиши - императором не станешь&amp;#33;</title>
        <link>https://forum.sources.ru/index.php?showtopic=429350&amp;view=findpost&amp;p=3874481</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=429350&view=findpost&p=3874417'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2022-08-22T13:09:59+00:00">22.08.22, 13:09</time></span><div class='quote '><strong class='tag-b'>Изначальная реализация GUI-потока</strong></div></div><br>
Вопрос, конечно, интересный. Только причём тут Rust ?<br>
Вопрос о загрузке главного потока - это Вопрос.<br>
---<br>
Да, делал я рисование в рабочем потоке. Это действительно позволяет<br>
гарантировано убрать видео-эффекты при рисовании.<br>
Таким образом, задачей главного потока остаётся только вывод картинки,<br>
а рисование делает рабочий поток.<br>
По измерениям комп даже 10-15 летней выдержки на самый большой монитор<br>
выводит картинку за время &lt;=1 [мс], что исключает любые видео-эффекты.<br>
А рисование в другом (&quot;графическом&quot;) потоке при этом может занимать любое время.<br>
Ещё более старый комп тоже не особо отстает. Просто у него дисплей поменьше.<br>
Но всё равно приятно.<br>
---<br>
Графический поток должен реагировать на 3 разных события, поступающие посредством очередей:<br>
1) Новые данные<br>
2) Изменился размер окна<br>
3) Изменились графические параметры - цветА, фонты, линии, число гафиков итд.<br>
Всё то, что можно определить как &quot;форма представления&quot;.<br>
А генерировать графический поток должен одно событие.<br>
Тоже посредством очереди, посылая нарисованный образ главному потоку.<br>
(Или указатель на результат)<br>
<br>
как то так.<br>
Это действительно хорошо и удобно работает. Доволен как слон.]]></description>
        <author>ЫукпШ</author>
        <category>Rust</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429350&amp;view=findpost&amp;p=3874417</guid>
        <pubDate>Mon, 22 Aug 2022 13:09:59 +0000</pubDate>
        <title>Сколько хэлоу-ворлдов ни пиши - императором не станешь&amp;#33;</title>
        <link>https://forum.sources.ru/index.php?showtopic=429350&amp;view=findpost&amp;p=3874417</link>
        <description><![CDATA[Majestio: Буэнос диас, амигос&#33;<br>
<br>
Ну не дает мне спокою это ЯП <strong class='tag-b'>Rust</strong>. Я уже и к батюшке ходил исповедоваться, и на пост ел только обезжиренную мраморную говядину (с почти просроченными трюфелями). Но не отпускает, окоянный&#33;&#33;&#33;  :&#39;( <br>
И я вот подумал ... если не отпускает меня сие мракобесие, может это и не мракобесие совсем?&#33; Может это Промысел Божей, который я возглавить должен, с божею помостчью? :scratch:<br>
<br>
<strong class='tag-b'><span class='tag-size' data-value='14' style='font-size:14pt;'>Собственно простые православные вопросы</span></strong><br>
<br>
<img class='tag-img' src='https://i120.fastpic.org/big/2022/0822/ba/fab1670320e503ae4024bc5a087b76ba.png' alt='user posted image'><br>
<br>
Хочу начать писать на Rust свой кросс-платформенный GUI-велик. Чисто для тренировки в начале, ну а потом - как карта ляжет. Нужны советы&#33;&#33;&#33; Где-то &quot;как сделать&quot;, а где-то &quot;я вот прЕдумал, покритикуйте и покажите как лучче&quot;.<br>
<br>
<strong class='tag-b'>Изначальная реализация GUI-потока</strong><br>
<br>
На сколько я видел - везде &quot;классика&quot;. В обязанности GUI-потока (основного потока программы) входят две весчти: 1) Обработка событий 2) Перерисовка. Прекрасно. Но кто из вас не видел &quot;зависание&quot; UI когда кодер дерзко предполагает &quot;это отработает за пол-секунды&quot;, а по факту пять, или вааще уосемь&#33;&#33;&#33; Хочу разнести это на два потока: 1) Чисто обработка событий (со стеком накопления) 2) поток-рисователь. Предполагаю &quot;да&quot; для встраиваемых систем в кофемолки и тостеры моя система не прокатит. Или &quot;да&quot;. Прошу ваших комментов. Тут принципиально &quot;блокировать UI или нет на время проведения долгой операции&quot;. Отдельный пункт - &quot;Cancel&quot;. Можно только его разрешать, а остальное блокировать. Ваши мысли?<br>
<br>
<strong class='tag-b'>Чем изначально лучше всего управлять потоками, и какую модель управления потоками выбрать</strong><br>
<br>
На второй вопрос сразу напрашивается ответ - POSIX. Но мы же не используем напрямую, мы же пишем обертку. У Уиндовс тоже интересная концепция потоков. Что взять за &quot;базис&quot;.<br>
<br>
<strong class='tag-b'>На последок - вишенка&#33;</strong><br>
<br>
Как избавиться от С++ ООП мышления и перейти на Rust &quot;без акцента&quot;?  :wall:  :wall:  :wall:  Лечение током не предлагать - я и сам такое предлагать горазд&#33;&#33;&#33;  :lol:]]></description>
        <author>Majestio</author>
        <category>Rust</category>
      </item>
	
      </channel>
      </rss>
	