Performance

Posted by: goncalvm on 8 September 2017, 5:22 am EST

  • Posted 8 September 2017, 5:22 am EST

    Hi everyone,

    Is there any spread version or another lightweight control that requires very little memory and processing power and has very small latency under heavy load? I need a efficient way of displaying real-time data changes in an Excel-style grid and I think that spread has a lot of features that could affect this requirements.

     Best regards,

     Marco

  • Posted 8 September 2017, 5:22 am EST

    Hello,

    You may download a trial version of any of our Latest versions of Spread for Windows Forms (Version 4 or 5 ) for better performance with real time  data and excel like features.You may test the same and contact us in case you need any help.



    Thanks,

  • Posted 8 September 2017, 5:22 am EST

    First of all, thanks for your quick reply.

    In fact, I already have spread for windows forms 4, but do you really think that the performance is good enough for high frequency market data? If so, is there any article, code or configuration that can be performed to achieve my goal?

    Thanks,

    Marco

  • Posted 8 September 2017, 5:22 am EST

    Hello Marco,

    You can apply some performance improvement tricks to increase the Spread's Performance:

    1) In the WindowsForms version alot of the painting(when scrolloing, etc.) depends on how you set up the spreadsheet.  If you are applying styles, celltypes or the like try to do it on column and row levels and not individual cells.  If you are using the Text property try switching to the Value property so the text in the cell isn't subjected to parsing. 

    2) If you are not using sticky notes, then you can set AutoUpdateNotes to false to prevent the component from checking for sticky notes that need to be made visible or hidden or moved.

    3) If you are using AllowCellOverflow, turning that off increases the performance of the layout calculations, because that feature requires lots of text width calculations on each change to the data in a cell.

    4) If you are using formulas, setting AutoCalculation to false before your updates and then setting it back to true and calling Recalculate afterwards eliminates redundant intermediate recalculations of your formulas.

    5) You can turn off the painting by calling the SuspendLayout method before setting the cell type and SetValue method and then call ResumeLayout method to resume the painting after the SetValue method. SuspendLayout will prevent the SpreadView from recomputing the layout of columns, rows, and cells when changes are made to the sheet.  The layout objects are not part of the public API, but they cache all of the layout information required to paint the sheet, like the column widths, row heights, cell spans, cell overflows and the rectangles of cell notes that are always visible (Cell.NoteStyle = NoteStyle.StickyNote).  If you are making lots of changes to the sheet in a block of code, using SuspendLayout will prevent the SpreadView from doing redundant intermediate recalculations of the layout objects as each change is made, and using ResumeLayout(true) will recompute the layout once after all of your changes are made.  That will increase performance greatly, but there is more you can do depending on what features your sheets require.

    6) However, with high number of cells being displayed at one time, some delay would be expected when running in debug through the IDE. If you build the project in release and run the executable, then you should see the Spread's cell being more responsive.

    These types of changes can significantly improve performance. Hope this will help you. Thanks.

  • Posted 27 December 2017, 3:52 pm EST

    I am also facing the same issue of performance while painting real time market data. I am using version 4 of winforms farpoint grid. Will the performance better after moving to version 11. If that is the case I don’t mind buying the new version

  • Posted 27 December 2017, 7:46 pm EST

    Hi Sanket,

    Spread for .NET has improved with since version 4. You can download the trial version of latest Spread .NET v11.0 from our website and test it for your use case. Let me know if you face any issues with the performance.

    Thanks,

    Deepak Sharma

  • Posted 8 January 2018, 6:19 pm EST

    Hi Deepak,

    Can you please provide exact link. We did download componentone but has everything changed from farpoint functions. Also it has TrueDBGrid in it. So all the code we will have to rewrite when we move to version? Presently using version 4.0

    Awaiting your reply

    Thank,

    Sanket

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels