BrownBot Logo BrownBot Head

Weighbridge Remote Sync Console

9:21 pm Filed under: C#, WPF

After a mental but successful trip back to Australia to get the weighbridge client project up and running, I’m back in SA and working on the remote version of weighbridge.

The remote versions are going to run local SQL 2005 express with a 3G data connection to our VPN, so essentially they run the same as the directly connected version with an additional synchronization process to send/receive data to the main DB.

I was mucking about with this sync console today and was getting really variable performance (mostly really bad), one trend was that it would progressively slow down as it processed more jobs. The first version rendered a small grid showing the status of each job in a wrap panel.

SyncConsoleOriginal I had a brain wave this morning that all that rendering must be slowing it down, so I implemented a progress bar version.

SyncConsole Not only does it is look much nicer it runs about a million times faster, I’m not sure what WPF does with a wrap panel but it seems it might have been re-rending the whole thing every time a single item updated.

Today’s lesson: Be careful with large lists in WPF!

Powered by WordPress