Showing results for 
Search instead for 
Did you mean: 

AccessHW is 5 times slower under XP than 2000

We are using the Port and Memory Utilities for Windows
to get data from a legacy/custom piece of hardware that is memory
mapped on the ISA bus at 0xE0000.
Specifically, we are using from to read 2 bytes data samples
in a LabVIEW 7.1 application under Windows XP.

On a clean, dual boot (Windows 2000 and XP) system, the is
about 5.5 times faster when called under Windows 2000 than under Windows XP.
(100000 calls = 2.3 sec vs. 12.9 sec)
I see 2 possible reasons for this: the CVI code under the hood in AccessHW
is not optimized for XP, or XP is not optimized for memory-mapped devices on
the ISA bus.

Anyone have any ideas?

test program attached

0 Kudos
Message 1 of 3
Have you tried using the native In Port and Out Port functions that come with 7.1. As I understand it, you would only need the AccessHW if you wanted to do 32 bit access. I don't know if they'll run any faster under XP than 2K since I's still using 2K but it would be worth trying.
Message 2 of 3
thanks for your response...

indeed, we are using the native LabVIEW 7.1 to control
a 3rd party PIO card. Unfortunately, the traditional memory-mapping space
for ISA devices was 0xD0000-0xEFFFF which cannot be accessed using 16 bit addressing.
That's why I am using ReadMemory16 to do the 32 bit access.

Since most legacy ISA buses are an expansion of the PCI bus, I'm wondering if XP handles
the crazy memory mapping differently. In essence, if no PCI card responds to a given address,
then the PCI bus expansion gets it, the so-called "if no one claims it, it must be yours" logic.


Message Edited by mal11 on 04-20-2005 11:45 AM

0 Kudos
Message 3 of 3