Codebox Software

BitMeter on Windows Vista

At first BitMeter looked like it would run with no problems on Windows Vista, then I started getting emails describing strange behaviour - upload/download figures that were way too high. I managed to get hold of a Vista test machine and was able to confirm quite quickly that indeed BitMeter did give wildly inaccurate readings - in fact both upload and download speeds seemed to be exactly 4 times higher than they should be.

The problem turned out to be caused by an unexpected change in the way Vista lists the network adapters that are present on the host machine. On my test machine, BitMeter showed the following list:

List of adapters under Windows Vista

That's a lot of adapters! Upon further investigation it turned out that my wireless card was listed 4 times (the entries marked in red), and that BitMeter was therefore adding wireless traffic to the totals 4 times over, explaining the strange readings that I had seen.

The change seems to have been made in the GetIfTable function in the iphlpapi.dll library, turns out someone noticed it a while back, and asked Microsoft why, but got no response. I spoke to the guy who wrote NetMeter, and he had seen the same problem in his app, and had already fixed it ready for the next release.

On the plus-side, the Task Manager in Vista now displays the Private Working Set figure for an application in the 'Memory' column, rather than the Working Set total - this is really a much better indicator of how much memory BitMeter is using, and the figure is much lower (around 5-6MB rather than 20-30MB), so now maybe people will stop telling me that I have a 'memory leak' ;-)