Hello! I have written a WavePci miniport driver that creates several subdevice pairs of the same type (Wave/Topology) using a standard method (PcNewPort/PcRegisterSubdevice). I noticed that a system load after driver startup/shutdown grows very fast if I increase number of subdevices. If there are 1..4 subdevice pairs, the driver starts quickly and the system becomes idle immediately. With 8 pairs, the system consumes almost 100% CPU (the "system" process) about one minute after the driver is loaded or unloaded. With 16 pairs, it continues up to 5 minutes. Debugging output in my driver shows that several threads from the "system" process (I think they are SysAudio threads) continuously perform many open/close operations for each Topology subdevice, querying them for volume/mute parameters and modify these parameters. Each subdevice is processed many times. But Wave subdevices are almost never touched. My driver accepts a registry parameter specifying how many subdevice pairs to create. If I lower this amount and restart the driver, system threads try to open non-existent subdevices. For example, if the amount was 10 and I lowered it to 5, system threads try to open subdevices 5..10, in spite of they were not created in current session. Seems like SysAudio remembers how many subdevices were created earlier. I tested the driver under w2k SP4 and XP SP2, there was no difference. It is normal or maybe I'm doing something wrong? Each Topology subdevice is responsible for a corresponding Wave subdevice; if I will create a single Topology subdevice responsible for all Wave subdevices, will it be more correct and fast? Regards, Eugene ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/