<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="https://syndication.webwiz.net/rss_namespace/">
 <channel>
  <title>Codejock Developer Community : Report control slow markup performance</title>
  <link>http://forum.codejock.com/</link>
  <description><![CDATA[This is an XML content feed of; Codejock Developer Community : Report Control : Report control slow markup performance]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Wed, 13 May 2026 18:34:18 +0000</pubDate>
  <lastBuildDate>Sat, 05 Jan 2019 23:27:22 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.04</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>forum.codejock.com/RSS_post_feed.asp?TID=23656</WebWizForums:feedURL>
  <image>
   <title><![CDATA[Codejock Developer Community]]></title>
   <url>http://forum.codejock.com/forum_images/codejock-logo.gif</url>
   <link>http://forum.codejock.com/</link>
  </image>
  <item>
   <title><![CDATA[Report control slow markup performance : Unfortunately, I&amp;#039;ve run into...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=23656&amp;PID=77204&amp;title=report-control-slow-markup-performance#77204</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=2126">bschaer</a><br /><strong>Subject:</strong> 23656<br /><strong>Posted:</strong> 05 January 2019 at 11:27pm<br /><br />Unfortunately, I've run into the same issue.&nbsp; Have a property grid with ~60 lines.&nbsp; The caption field in each line needs to be update once/second and the markup being thrown at it is NOT complex.&nbsp; It's so slow you can literally watch the system draw the updates, almost as if it was a Tandy TRS-80.&nbsp; So bad.<div><br></div><div>Not sure what I'm going to do with respect to a solution, perhaps the guys I send money to each year (for approximately 15 years) for contract renewal can determine if there is a path to making the product at all usable for either of us...</div><div><br></div><div>Best,</div><div>Brian</div><div><br></div><div>60 property grid lines of this and I feel like I'm back in 1979.</div><div><br></div><div><div>"&lt;Grid VerticalAlignment = 'Center'&gt;&lt;TextBlock&gt;%s:&nbsp; &#091;%s&#093; - &#091;%s&#093;&lt;/TextBlock&gt;&lt;TextBlock TextAlignment='Center' Padding='50,0,0,0'&gt;%s&lt;/TextBlock&gt;&lt;TextBlock TextAlignment='Right' Padding='0,0,5,0'&gt;%s&lt;/TextBlock&gt;&lt;/Grid&gt;"</div></div><div><br></div>]]>
   </description>
   <pubDate>Sat, 05 Jan 2019 23:27:22 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=23656&amp;PID=77204&amp;title=report-control-slow-markup-performance#77204</guid>
  </item> 
  <item>
   <title><![CDATA[Report control slow markup performance : Hi guys,I am faced with an issue...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=23656&amp;PID=76879&amp;title=report-control-slow-markup-performance#76879</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=5742">docontrol</a><br /><strong>Subject:</strong> 23656<br /><strong>Posted:</strong> 14 June 2018 at 6:09am<br /><br /><div><div>Hi guys,</div><div><br></div><div>I am faced with an issue for which I also have an open case with CodeJock. Still I want to hear if anyone else has experience in this matter and hopefully a solution.</div><div><br></div><div>We use the report control to generate lists of documents in a collection. Some properties of the documents are shown as markup on the same cell throughout the report control.</div><div><br></div><div>The problem that we are facing is that drawing the markup is very slow. We add a little over 3000 records. Most of these records contain markup in a specific column.</div><div><br></div><div>The way that we add the markup is more or less identical to your examples. We call EnableMarkup() on the report control and use SetCaption() on the markup item for each record/row.</div><div><br></div><div>The markup looks somewhat like this:</div><div><br></div><div><font size="1" color="#0000ff">CString cstrMarkupShortSample(</font></div><div><font size="1" color="#0000ff">_T("&lt;DockPanel VerticalAlignment=\"Center\" HorizontalAlignment=\"Left\"&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;TextBlock Text=\"Introduction to the use of this manual\" Margin=\"0, 0, 5, 0\" /&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;Border Background=\"#FF0000\" CornerRadius=\"2\" Height=\"12\" Padding=\"4, 2, 4, 2\" Margin=\"0, 0, 5, 0\"&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &nbsp;&lt;TextBlock Text=\"ISM\" Foreground=\"#FFFFFF\" HorizontalAlignment=\"Center\" VerticalAlignment=\"Center\" FontFamily=\"Verdana\" FontSize=\"8\" FontWeight=\"bold\" /&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;/Border&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;Border Background=\"#92D050\" CornerRadius=\"2\" Height=\"12\" Padding=\"4, 2, 4, 2\" Margin=\"0, 0, 5, 0\"&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &nbsp;&lt;TextBlock Text=\"ISO14001\" Foreground=\"#FFFFFF\" HorizontalAlignment=\"Center\" VerticalAlignment=\"Center\" FontFamily=\"Verdana\" FontSize=\"8\" FontWeight=\"bold\" /&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;/Border&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;Border Background=\"#FFC000\" CornerRadius=\"2\" Height=\"12\" Padding=\"4, 2, 4, 2\" Margin=\"0, 0, 5, 0\"&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &nbsp;&lt;TextBlock Text=\"ISO45001\" Foreground=\"#FFFFFF\" HorizontalAlignment=\"Center\" VerticalAlignment=\"Center\" FontFamily=\"Verdana\" FontSize=\"8\" FontWeight=\"bold\" /&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;/Border&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;Border Background=\"#00B0F0\" CornerRadius=\"2\" Height=\"12\" Padding=\"4, 2, 4, 2\" Margin=\"0, 0, 5, 0\"&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &nbsp;&lt;TextBlock Text=\"ISO9001\" Foreground=\"#FFFFFF\" HorizontalAlignment=\"Center\" VerticalAlignment=\"Center\" FontFamily=\"Verdana\" FontSize=\"8\" FontWeight=\"bold\" /&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;/Border&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;Border Background=\"#FAC090\" CornerRadius=\"2\" Height=\"12\" Padding=\"4, 2, 4, 2\" Margin=\"0, 0, 5, 0\"&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &nbsp;&lt;TextBlock Text=\"MLC\" Foreground=\"#000000\" HorizontalAlignment=\"Center\" VerticalAlignment=\"Center\" FontFamily=\"Verdana\" FontSize=\"8\" FontWeight=\"bold\" /&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;/Border&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;Border Background=\"#FFFF00\" CornerRadius=\"2\" Height=\"12\" Padding=\"4, 2, 4, 2\" Margin=\"0, 0, 5, 0\"&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &nbsp;&lt;TextBlock Text=\"TMSA\" Foreground=\"#000000\" HorizontalAlignment=\"Center\" VerticalAlignment=\"Center\" FontFamily=\"Verdana\" FontSize=\"8\" FontWeight=\"bold\" /&gt;")</font></div><div><font size="1" color="#0000ff">_T("&nbsp; &lt;/Border&gt;")</font></div><div><font size="1" color="#0000ff">_T("&lt;/DockPanel&gt;"));</font></div><div><br></div><div>The (all in-memory) loading process (before the call to Populate()) on a fast newer pc takes over 13 seconds. If we remove the call to SetCaption(), but still generate the markup, the call is completed in less than 1 second. Is the any way to speed this up (significantly).</div><div><br></div><div>Process memory grows from 17 MB to a staggering 240 MB (and 67 MB without markup). There can of course be many reasons for this, but generally all objects are created on the heap. This also means that the application takes a long time to clean up memory afterwards. Especially while using markup it is noticeably slower. Can the toolkit even handle working off the heap or is this required by design.</div><div><br></div><div>I tried to rule out errors by simple testing my markup in the Report Sample project and the same behavior is experienced. To stress test it I added loops to define 3000+ records and also apply 3000+ markup calls. When I use the default sample markup in cstrMarkupShortSample, it loads reasonably fast, but once I use our own markup it slows down noticeably.</div><div><br></div><div>I tried some even simpler markup on all 3000 records:</div><div><br></div><div><font color="#0000ff" size="1">_T("&lt;StackPanel VerticalAlignment='Top' HorizontalAlignment='Center'&gt;")</font></div><div><font color="#0000ff" size="1">_T("&lt;TextBlock&gt;Introduction to the use of this manual &lt;Run Foreground='Red'&gt;ISM&lt;/Run&gt; &lt;Run Foreground='Yellow'&gt;ISO14001&lt;/Run&gt; &lt;Run Foreground='Green'&gt;ISO45001&lt;/Run&gt; &lt;Run Foreground='Blue'&gt;ISO9001&lt;/Run&gt; &lt;Run Foreground='Red'&gt;MLC&lt;/Run&gt; &lt;Run Foreground='Red'&gt;TMSA&lt;/Run&gt;")</font></div><div><font color="#0000ff" size="1">_T("&lt;/TextBlock&gt;")</font></div><div><font color="#0000ff" size="1">_T("&lt;/StackPanel&gt;"));</font></div><div><br></div><div>This loads fairly fast, but the process memory is still quite high and it takes a long time to destruct all objects in the memory upon exiting the running application.&nbsp;</div><div><br></div><div>This really makes me wonder if markup is even recommended in report control, when it is used broadly and for many records?&nbsp;</div><div><br></div><div>Or is the purpose of the markup in the report control only to support very simple stuff, such as changing the color or boldness of a single word?&nbsp;&nbsp;</div><div><br></div><div>A few details about my setup:</div><div><br></div><div>Product: Toolkit Pro for Visual C++ MFC</div><div>Product version: 18.4.0</div><div>Development platform: Visual Studio 2017 (toolkit v141)</div><div>Language(s): C++ 11, 14, 17, MFC</div><div>Operating system: Windows 10 Enterprise (64 bit) 1803</div><div>Relevant project settings: 32 bit, Unicode, MFC in shared DLL, _XTP_STATICLINK</div><div>Windows SDK: 8.1</div><div>Processor: Intel Core i7-6770HQ @ 2.60GHz</div><div>Memory: 16GB</div><div>Storage: 2 x 250 GB NVMe (not configured as raid)</div><div><br><br></div></div><div></div>]]>
   </description>
   <pubDate>Thu, 14 Jun 2018 06:09:57 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=23656&amp;PID=76879&amp;title=report-control-slow-markup-performance#76879</guid>
  </item> 
 </channel>
</rss>