Add many rows per microsecond

5 posts, 0 answers
  1. Oleg
    Oleg avatar
    3 posts
    Member since:
    Apr 2015

    Posted 21 Apr 2015 Link to this post

    Hello! I have a problem in a real-time display consistently huge stream of data (transactions on the Stock Exchange), which is formed in a different thread. Help me with the example so as not to suffer performance visualization. The data comes continuously and in very large quantities.
  2. Maya
    Admin
    Maya avatar
    4062 posts

    Posted 22 Apr 2015 Link to this post

    Hello Oleg,

    You could run through "Real time update" demo of RadGridView. If you do not update the items, bur rather insert new ones, why now working with AddRange method of your source collection. If you work with RadObservableCollection<T> for example, AddRange will suspend all notifications and resume them afterwards, thus improving the performance. 

    Regards,
    Maya
    Telerik
     

    See What's Next in App Development. Register for TelerikNEXT.

     
  3. Oleg
    Oleg avatar
    3 posts
    Member since:
    Apr 2015

    Posted 22 Apr 2015 in reply to Maya Link to this post

    Hello! Suspend notification best sulution  for realtime. Thanks for the help. My program now worked fast, but operation system slow.
     I builded pipe of the flow of data very wide and fast:)

     

  4. Oleg
    Oleg avatar
    3 posts
    Member since:
    Apr 2015

    Posted 23 Apr 2015 Link to this post

    Hello! I try Telerik, send me help where update item[0]   (public void AddTape(Tick tick))

    public class TRDataContext
        {
            ObservableCollection<Tape> source;
            ObservableCollection<Tape> Source
            {
                get
                {
                if (this.source == null)
                    {                    
                        source = new ObservableCollection<Tape>(from i in Enumerable.Range(0, 10) select new Tape(new Tick()));
                    }
    return source;
                }
            }

            QueryableCollectionView data;
            public QueryableCollectionView Data
            {
                get
                {
                    if (this.data == null)
                    {
                        this.data = new QueryableCollectionView(Source);
                        this.data.SortDescriptors.Add(new SortDescriptor()
                        {
                            Member = "Time",
                            SortDirection = System.ComponentModel.ListSortDirection.Descending
                        });
                    }

                    return this.data;
                }
            }
            public void AddTape(Tick tick)
            {
                Tape mm = new Tape(tick);
                Source[0] = mm; //this not update visual grid
            }
        }   

  5. Maya
    Admin
    Maya avatar
    4062 posts

    Posted 23 Apr 2015 Link to this post

    Hi Oleg,

    You need to update the properties of the item instead and if the business object implements INotifyPropertyChanged interface, the modifications will be reflected right away. 

    Regards,
    Maya
    Telerik
     

    See What's Next in App Development. Register for TelerikNEXT.

     
Back to Top