﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Тормоза</title>
  <id>~/topic/5112/tormoza/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-15T18:16:57Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=5112" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/34826/</id>
    <title type="text">Поставил дополнительных задержек для хорошего наполнения очереди, намертво прибил х86 - вроде прошло...</title>
    <published>2016-05-30T13:11:12Z</published>
    <updated>2016-05-30T13:11:12Z</updated>
    <author>
      <name>agat50</name>
      <uri>https://stocksharp.ru/users/28063/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Поставил дополнительных задержек для хорошего наполнения очереди, намертво прибил х86 - вроде прошло.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/34814/</id>
    <title type="text">agat50: А память течёт из-за WPF Xceed компонентов кажется... Кто-нибудь сталкивался? http://s020.ra...</title>
    <published>2016-05-27T12:06:12Z</published>
    <updated>2016-05-27T12:06:12Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(34811)" rel="nofollow" target="_blank"&gt;agat50&lt;/a&gt;:&lt;/strong&gt;
А память течёт из-за WPF Xceed компонентов кажется...&lt;/p&gt;
&lt;p&gt;Кто-нибудь сталкивался?&lt;/p&gt;
&lt;p&gt;&lt;a href="http://s020.radikal.ru/i719/1605/e4/83932c189c41.png" rel="nofollow" target="_blank"&gt;http://s020.radikal.ru/i719/1605/e4/83932c189c41.png&lt;/a&gt;
&lt;a href="http://s017.radikal.ru/i400/1605/03/11f5d742b0e8.png" rel="nofollow" target="_blank"&gt;http://s017.radikal.ru/i400/1605/03/11f5d742b0e8.png&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;На 1.5гб вывалилось по оутофмемори в конце концов (несколько сотен свечей максимум), хотя обычно за 200-250мб на любом количестве свечей не вылезает и рисует нормально.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;В одной программе PropertyGrid от WPF Xceed бесплатого, очень сильно память поджирали. Правда давно это было.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/34811/</id>
    <title type="text">А память течёт из-за WPF Xceed компонентов кажется... Кто-нибудь сталкивался? http://s020.radikal.ru...</title>
    <published>2016-05-26T16:27:58Z</published>
    <updated>2016-05-26T16:56:29Z</updated>
    <author>
      <name>agat50</name>
      <uri>https://stocksharp.ru/users/28063/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;А память течёт из-за WPF Xceed компонентов кажется...&lt;/p&gt;
&lt;p&gt;Кто-нибудь сталкивался?&lt;/p&gt;
&lt;p&gt;&lt;a href="http://s020.radikal.ru/i719/1605/e4/83932c189c41.png" rel="nofollow" target="_blank"&gt;http://s020.radikal.ru/i719/1605/e4/83932c189c41.png&lt;/a&gt;
&lt;a href="http://s017.radikal.ru/i400/1605/03/11f5d742b0e8.png" rel="nofollow" target="_blank"&gt;http://s017.radikal.ru/i400/1605/03/11f5d742b0e8.png&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;На 1.5гб вывалилось по оутофмемори в конце концов (несколько сотен свечей максимум), хотя обычно за 200-250мб на любом количестве свечей не вылезает и рисует нормально.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/34808/</id>
    <title type="text">Тоже столкнулся, на исторических данных свечка с индюком могла рисоваться секунду. Профайлер показал...</title>
    <published>2016-05-26T09:56:55Z</published>
    <updated>2016-05-26T15:19:33Z</updated>
    <author>
      <name>agat50</name>
      <uri>https://stocksharp.ru/users/28063/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Тоже столкнулся, на исторических данных свечка с индюком могла рисоваться секунду. Профайлер показал множественные  затыки на Monitor.Enter внутри стокшарпа. Решил переделкой на async void:&lt;/p&gt;
&lt;p&gt;Было:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;_candleManager = new CandleManager(_smartTrader);
_candleManager.Processing += CandleManagerOnProcessing;&lt;/p&gt;
&lt;p&gt;private void CandleManagerOnProcessing(CandleSeries candleSeries, Candle candle)
{
//...
}&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Стало:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;_candleManager = new CandleManager(_smartTrader);
_candleManager.Processing += CandleManagerOnProcessing;
private readonly SemaphoreSlim _candleManagerOnProcessingSyncRoot
= new SemaphoreSlim(1);
private async void CandleManagerOnProcessing(CandleSeries candleSeries, Candle candle)
{
await _candleManagerOnProcessingSyncRoot.WaitAsync();
try
{
//...
}
catch (Exception e)
{
_logManager.Application.AddErrorLog(e);
}
finally
{
_candleManagerOnProcessingSyncRoot.Release();
}
}&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Стало рисовать сильно быстрее и равномерно.&lt;/p&gt;
&lt;p&gt;P.S.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;private readonly SemaphoreSlim _candleManagerOnProcessingSyncRoot
= new SemaphoreSlim(1);
private readonly ConcurrentQueue&amp;lt;Tuple&amp;lt;CandleSeries, Candle&amp;gt;&amp;gt; _candlesQueue
= new ConcurrentQueue&amp;lt;Tuple&amp;lt;CandleSeries, Candle&amp;gt;&amp;gt;();&lt;/p&gt;
&lt;p&gt;private void CandleManagerOnProcessing(CandleSeries candleSeries, Candle candle)
{
_candlesQueue.Enqueue(Tuple.Create(candleSeries, candle));
ProcessCandleQueue();
}&lt;/p&gt;
&lt;p&gt;private async void ProcessCandleQueue()
{
await _candleManagerOnProcessingSyncRoot.WaitAsync();
try
{
Tuple&amp;lt;CandleSeries, Candle&amp;gt; n;
while (_candlesQueue.TryDequeue(out n))
{
var candleSeries = n.Item1;
var candle = n.Item2;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Или так, ещё шустрее.&lt;/p&gt;
&lt;p&gt;P.P.S А, нет, всё-равно тормозит иногда (и начинает жрать память при этом (1.5гб на минутный график за 5 дней, и это не _candlesQueue), причём непонятно от чего зависит - иногда пролетает мгновенно, иногда нет... На Draw(IEnumerable&amp;lt;RefPair) тоже переделывал, разницы нет.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33949/</id>
    <title type="text">Валентин Лебедев: Отправляем каждую свечку для прорисовки по отдельности: foreach (var candle in can...</title>
    <published>2015-11-03T22:44:30Z</published>
    <updated>2015-11-03T22:44:30Z</updated>
    <author>
      <name>Vitaly48</name>
      <uri>https://stocksharp.ru/users/94511/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(33948)" rel="nofollow" target="_blank"&gt;Валентин Лебедев&lt;/a&gt;:&lt;/strong&gt;
Отправляем каждую свечку для прорисовки по отдельности:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;foreach (var candle in candles)
{
chart.Draw(candleElement, candle);
}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; Отправляем все свечки на прорисовку разом:
&amp;gt; ```csharp
chart.Draw(
    candles.Select(
        candle =&amp;gt;
            new RefPair&amp;lt;DateTimeOffset, IDictionary&amp;lt;IChartElement, object&amp;gt;&amp;gt;(candle.OpenTime,
                new Dictionary&amp;lt;IChartElement, object&amp;gt; {{candleElement, candle}})));
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;Второй вариант работает гораздо быстрее.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Спасибо, с первым кодом все понятно, но второй... это для меня слишком круто, ух, буду разбираться ))
но все равно спасибо еще раз!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Mikhail Sukhov
Да, я понял, сори за офтоп, такое больше не повториться!&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33948/</id>
    <title type="text">Отправляем каждую свечку для прорисовки по отдельности: foreach (var candle in candles) { chart.Draw...</title>
    <published>2015-11-03T13:01:55Z</published>
    <updated>2015-11-03T13:01:55Z</updated>
    <author>
      <name>Валентин Лебедев</name>
      <uri>https://stocksharp.ru/users/50045/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Отправляем каждую свечку для прорисовки по отдельности:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;foreach (var candle in candles)
{
    chart.Draw(candleElement, candle);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Отправляем все свечки на прорисовку разом:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;chart.Draw(
    candles.Select(
        candle =&amp;gt;
            new RefPair&amp;lt;DateTimeOffset, IDictionary&amp;lt;IChartElement, object&amp;gt;&amp;gt;(candle.OpenTime,
                new Dictionary&amp;lt;IChartElement, object&amp;gt; {{candleElement, candle}})));
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Второй вариант работает гораздо быстрее.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33947/</id>
    <title type="text">Vitaly48: Михаил, к компонентам претензий ни каких нет, все работает четко Дело не в том, есть у вас...</title>
    <published>2015-11-03T12:29:59Z</published>
    <updated>2015-11-03T12:29:59Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(33945)" rel="nofollow" target="_blank"&gt;Vitaly48&lt;/a&gt;:&lt;/strong&gt;
Михаил, к компонентам претензий ни каких нет, все работает четко&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Дело не в том, есть у вас претензии или нет. А в том, что вы в одном топике мешаете разные темы. И путаете потеницально тех, кто будет читать спустя какое то время.&lt;/p&gt;
&lt;p&gt;Не надо писать в топики по принципу ключевых слов.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33945/</id>
    <title type="text">Валентин Лебедев: Попробуй вызывать Draw не для каждой отдельной свечи, а передать в него все свечи ...</title>
    <published>2015-11-03T11:46:19Z</published>
    <updated>2015-11-03T11:46:19Z</updated>
    <author>
      <name>Vitaly48</name>
      <uri>https://stocksharp.ru/users/94511/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(33941)" rel="nofollow" target="_blank"&gt;Валентин Лебедев&lt;/a&gt;:&lt;/strong&gt;
Попробуй вызывать Draw не для каждой отдельной свечи, а передать в него все свечи сразу, одной коллекцией. Была подобная проблема, решил именно таким образом, теперь рисует быстро.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Валентин, а Вы не могли бы пояснить, а лучше кинуть примерчик ) как Вы в Draw передаете не одну, а все свечи сразу?
спасибо!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Mikhail Sukhov
Михаил, к компонентам претензий ни каких нет, все работает четко, за месяц знакомств с ними не было ни каких глюков или крашей, тьфу-тьфу-тьфу ) все работает как часы, немного напрягают моменты в плане избыточной накрученности, мне бы лично хватило бы и десятой части, если не сотой, того функционала, что представлен в этой библиотеке!&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33943/</id>
    <title type="text">Vitaly48: я когда только начал разбираться, вообще несколько дней думал он у меня не отрисовывается ...</title>
    <published>2015-11-02T21:46:42Z</published>
    <updated>2015-11-02T21:47:36Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(33940)" rel="nofollow" target="_blank"&gt;Vitaly48&lt;/a&gt;:&lt;/strong&gt;
я когда только начал разбираться, вообще несколько дней думал он у меня не отрисовывается из-за того, что я видел пустой фон диаграммы и закрывал форму, только потом понял, что нужно подождать некоторое время что бы он начал рисовать свечки!
а теперь привык, даже прикольно, как будто фильм смотришь, видишь куда в таймфрейме ходили свечки, в каком месте свечи было больше сделок ))&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Не путайте процесс передачи данных и скроллинг. Автор, если не врет, заявляет о торможении всех компонентов. В том числе и тех, которые к графику и свечам не имеют отношения. Такое может быть только в случае или морально устаревшего железа или отсутствия драйверов.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33941/</id>
    <title type="text">Попробуй вызывать Draw не для каждой отдельной свечи, а передать в него все свечи сразу, одной колле...</title>
    <published>2015-11-02T20:00:54Z</published>
    <updated>2015-11-02T20:00:54Z</updated>
    <author>
      <name>Валентин Лебедев</name>
      <uri>https://stocksharp.ru/users/50045/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Попробуй вызывать Draw не для каждой отдельной свечи, а передать в него все свечи сразу, одной коллекцией. Была подобная проблема, решил именно таким образом, теперь рисует быстро.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33940/</id>
    <title type="text">я когда только начал разбираться, вообще несколько дней думал он у меня не отрисовывается из-за того...</title>
    <published>2015-11-02T19:08:50Z</published>
    <updated>2015-11-02T19:08:50Z</updated>
    <author>
      <name>Vitaly48</name>
      <uri>https://stocksharp.ru/users/94511/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;я когда только начал разбираться, вообще несколько дней думал он у меня не отрисовывается из-за того, что я видел пустой фон диаграммы и закрывал форму, только потом понял, что нужно подождать некоторое время что бы он начал рисовать свечки!
а теперь привык, даже прикольно, как будто фильм смотришь, видишь куда в таймфрейме ходили свечки, в каком месте свечи было больше сделок ))&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33935/</id>
    <title type="text">eugene20237: Такое ощущение, что весь интерфейс тормозной у S#. Во всех продуктах. Может из-за каких...</title>
    <published>2015-10-31T12:02:53Z</published>
    <updated>2015-10-31T12:02:53Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(33930)" rel="nofollow" target="_blank"&gt;eugene20237&lt;/a&gt;:&lt;/strong&gt;
Такое ощущение, что весь интерфейс тормозной у S#. Во всех продуктах. Может из-за каких-то библиотек. Не знаю вобщем [mellow]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Может драйвера. Интерфейс на WPF от .NET 4.0 Сравнительно свежая технология. Старые ОС или компьютеры могут не иметь обновления.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33930/</id>
    <title type="text">Такое ощущение, что весь интерфейс тормозной у S#. Во всех продуктах. Может из-за каких-то библиотек...</title>
    <published>2015-10-29T16:10:41Z</published>
    <updated>2015-10-29T16:10:41Z</updated>
    <author>
      <name>eugene20237</name>
      <uri>https://stocksharp.ru/users/62106/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Такое ощущение, что весь интерфейс тормозной у S#. Во всех продуктах. Может из-за каких-то библиотек. Не знаю вобщем [mellow]&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/33923/</id>
    <title type="text">Что-то явно не так у вас с движком для графиков. Почему он так безбожно тормозит? И в Studio, и в AP...</title>
    <published>2015-10-28T22:27:34Z</published>
    <updated>2015-10-28T22:27:54Z</updated>
    <author>
      <name>eugene20237</name>
      <uri>https://stocksharp.ru/users/62106/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Что-то явно не так у вас с движком для графиков. Почему он так безбожно тормозит? И в Studio, и в API, и наверное везде. Когда открываешь вкладку с графиком проходит пару секунд прежде чем он откроется. Перетаскивать график мышью очень противно - запаздывает, тормозит и грузит проц. Вот если через Overview скроллить, то нормально.&lt;/p&gt;
&lt;p&gt;Всё это происходит на обычных исторических данных. Загружал 4-часовые свечки по Si с 2009 года, т.е. данных не много там. Никаких CandleManager не использовал. Просто создал свечки сам и отрисовал их. Работаю на десктопе с нормальным железом.&lt;/p&gt;
&lt;p&gt;Это SciChart такой тормозной или он так плохо приготовлен? Или может быть я неправильно что делаю... но тогда почему Studio работает точно также...&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>