. Updated Daily. Editions SDA India   SDA Indonesia
JAX Asia 2008 - Conference for Enterprise Java, SOA, Spring, Web Services, Ajax, Agile and more
BUSINESS ENTERPRISE SOLUTIONS ARCHITECTURE INFORMATION SECURITY WIRELESS & MOBILITY DATA & STORAGE DEVELOPMENT HARDWARE













News

Saturday, 10 February 2007

Overview of Filling GtkTreeView

 

 

A post over the Riff Blog talks about the issue of feeding a large amount of rows to the model bound to a GtkTreeView. The post talks about a sample built by Marc Quinton to demonstrate the performance gain obtained by disconnecting the GtkListStore from the GtkTreeView while filling the list with data, just like one would wrap such fills in a EnableControls / DisableControls pair in Delphi.

The post also talks about hard numbers. Quinton conclusion of the sample was not very significant and seemed rather counter-intuitive, so the author did more research and he explains the data with a table and a graph.

The author highlights that whatever option is chosen, the first pass of filling the list is always the fastest, presumably because it does not involve freeing the previous list first. When choosing the ‘always connected’ option, once the delay spent filling the list has been expanded, there still remains a delay for the GtkTreeView itself to catch up visually. The author also says with the larger lists, this becomes costly too. It details that with the 500k rows list taking 26 (first pass) or 49 (next passes) seconds to fill, the view still requires 29 more seconds to redisplay.

On the other hand, the author says, when filling the list in disconnected mode and reconnecting once the list is filled, the view answers fluidly, with no perceptible delay, giving this option a higher edge over the simpler solution of staying connected than the raw numbers might suggest details the post.

 

Read the Post

 
 
print save email comment

print

save

email

comment

 
 

Search SDA Asia

Free eNewsletter

SDA Asia Magazine Free Download
 
 
 
Copyright @ 2008 SDA Asia Magazine - All Right Reserved Privacy Policy | Terms of Use