Home Forums WinForms controls Xceed Grid for WinForms General status of the next update?

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • User (Old forums)
    Member
    Post count: 23064
    #14216 |

    Can we still expect to see the update of the grid with the new virtual mode in January? I recall hearing from an employee or seeing a news topic about this. I believe it was January anyways. I’d REALLY like to check out the new virtual mode…

    Imported from legacy forums. Posted by macke (had 7719 views)

    Odi [Xceed]
    Spectator
    Post count: 426

    Hi Macke,

    There will be a Grid release in about two weeks, but Virtual Mode did not make it into this one. It remains a very high priority feature, however, and I expect it to make it into the next grid release – though I don’t know the release date at the moment. It might be a release only for the Virtual Mode, so it may not be very long to wait.

    Odi

    Imported from legacy forums. Posted by Odi [Xceed] (had 388 views)

    User (Old forums)
    Member
    Post count: 23064

    I was afraid I’d hear that. Perhaps, until virtual mode actually hits the streets, Xceed support could compile a list of techniques and sample code to describe different optimization techniques? There has been a lot of discussion about it here on the forums obviously, but it’s generally a pretty complex issue. Partly because it’s not always obvious how to optimize the grid itself, but also because databinding is in itself a pretty complex issue.

    Take for instance the paging technique, where only a subset of the datasource is actually loaded into a dataset, but the dataset reports a count of so and so many records. This could potentially solve a lot of issues due to the fact that only a small dataset is used, hence less memory is consumed. But the implementation details are a tad daunting.

    A tutorial would be delightful to say the least.

    Imported from legacy forums. Posted by macke (had 652 views)

    User (Old forums)
    Member
    Post count: 23064

    It was a while since I worked with Xceed components now and I haven’t been keeping up with what has happened since then. Has virtual mode been released yet, or have other performance improvements been put into place?

    Last time I worked with the grid it was painful to work with large datasets on lower and even middle end machines. Notably, memory consumption shot through the roof. Have these issues been adressed?

    Imported from legacy forums. Posted by macke (had 487 views)

    Odi [Xceed]
    Spectator
    Post count: 426

    Hi Marcus,

    Virtual mode is not in the next v3.1 release (out in a little over a month) but will be in the next major release after that, though there is no estimated date for it yet. A true virtual Mode, with support for grouping, master/detail, and other features, is a relatively big feature to produce. In fact, we can still use as much input as to how you and other users can give us about what you expect.

    Odi

    Imported from legacy forums. Posted by Odi [Xceed] (had 496 views)

    User (Old forums)
    Member
    Post count: 23064

    Well, the expectation part is pretty easy from my point of view. Not to implement I’m sure, but to describe. All I want is a grid that is efficient, both memory wise and processing wise. I would expect the virtual mode to be transparent to the developer. In essance, the only difference I expect as a developer is a grid that handles four million rows, using not more resources than when handling a couple of hundred rows.

    Implementation wise I’m not sure how this would be done. I’ve seen other grids do it, but I haven’t invested time into figuring out how.

    Imported from legacy forums. Posted by macke (had 721 views)

    Odi [Xceed]
    Spectator
    Post count: 426

    Hi Marcus,

    We understand. Thanks for your input. Around here we call that “virtualizing the grid’s elements” (example: not creating a data row object for each row, since instantiation of those objects is the main time and memory consumer). That, as you say, can be transparent to the developer (save for the option to enable or disable it).

    There is also “virtualizing the data”, which refers to the grid being able to request (usually, by event) only the data required to be displayed (with/without buffering feature). This is the part that gets a little tougher to develop when grouping and master/detail is involved. In order for the grid to sort properly or provide group and statistics information, and to have meaningful data grouping, the developer using this type of virtual mode would have to write a variety of queries in order to implement the various events that the grid will trigger… what about this, is this a requirement too?

    Odi

    Imported from legacy forums. Posted by Odi [Xceed] (had 376 views)

    User (Old forums)
    Member
    Post count: 23064

    As long as the virtualization of the grid elements is sufficient to have the grid’s performance scale well with huge datasets, I see no point of virtualizing the data. In fact, this might even prove contraproductive as certain datasources could potentially introduce a whole different set of performance issues when retrieving data.

    I do see your point with sorting and grouping. In this case, I can’t immediately think of any way you’re going to be able to do this efficiently without at first retrieving ALL the data as a base for these operations. And then somehow be able to only get the updates made to a datasource and perform these on your base, thereby letting you resort, regroup or rewhateveryouwant the grid with that information. However, this essentially means that you’re keeping a copy of the datasource in memory (on disk would be silly), which is pretty much just like not virtualizing any data in the first place.

    I’m wondering, what would this feature be useful for? I haven’t been in a situation where I would want/need to request subsets of subsets and so on and so forth. Also, this feature would be more or less useless on datasets since they are infact an in-memory offline version of a database or a subset of a database. I therefore presume that this would be useful only when in direct connection with the database?

    I’m sorry if all this ranting seems like incoherent banter, it probably is. It just seems to me like it’s premature optimization, especially if virtualizing the grid elements provides sufficient optimization in itself.

    Imported from legacy forums. Posted by macke (had 487 views)

    Odi [Xceed]
    Spectator
    Post count: 426

    The DataGridView included in the .NET framework 2.0 allos you to virtualize the data, but since it doesn’t support grouping or master/detail, it’s not all that difficult to do.

    In any case, thanks for your input, I’ll try to keep you posted as to how this develops. However, I don’t expect it all to be ready before Q3 2006.

    Imported from legacy forums. Posted by Odi [Xceed] (had 304 views)

    User (Old forums)
    Member
    Post count: 23064

    Sure, but isn’t that virtualization essentially the same as virtualizing the grid elements in Xceed’s grid? As far as I can tell from the MSDN docs, it is there to let the user define a number of rows and columns and populate these on demand, from an event. Essentially this is what I’m asking for with the exception of transparency. I don’t think that the user should be forced to update the cell values on demand unless specifically asked for.

    Q3 2006, four months, sounds like a long ways ahead. Is there any chance of an interrim release which implements virtualizing of grid elements?

    Imported from legacy forums. Posted by macke (had 710 views)

    Odi [Xceed]
    Spectator
    Post count: 426

    Hi Marcus,

    There is a chance we will be able to make an interrim release, for we have found a way to subdivide the work. It would still however be made after release of 3.1, which is in testing.

    Odi

    Imported from legacy forums. Posted by Odi [Xceed] (had 329 views)

    User (Old forums)
    Member
    Post count: 23064

    If that would mean resource consumption for large datasets is shot to the ground, and it’s scalable, then by all means do it. Seriously, I believe that performance is the only thing that’s wrong with your product. Other than that it’s insanely easy to work with, customizing is a breeze. You do deliver very high quality products, but the performance hits one takes with the grid using large datasets is ridiculous really.

    Here’s to hoping for an interrim release. Any chances of getting a ballpark date on when that might happen?

    Imported from legacy forums. Posted by macke (had 737 views)

    Odi [Xceed]
    Spectator
    Post count: 426

    Please send me an email to KosmatosO@xceedsoft.com if you need any additional details.

    Imported from legacy forums. Posted by Odi [Xceed] (had 8313 views)

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.