Testing Device Drivers on a Networked Media Device (Windows Embedded CE 6.0)

1/5/2010

The performance of device drivers can negatively impact the user experience. Use the Windows Embedded CE 6.0 Test Kit (CETK) (CETK) to test your device drivers. After you build the CETK source code and obtain test results from the CETK, you need to analyze the test results.

For information about installing the source code for the CETK, see Source Code for CETK Tests.

For information about running a CETK test on a device driver, see How to Use the CETK to Test a Driver.

Block Drivers and File System Drivers

The following table shows five tests to perform on storage block drivers and file system drivers. The tests are in the %_WINCEROOT%\PRIVATE\TEST\DRIVERS\STORAGE directory.

Test Description

Flash Memory Read/Write and Performance Test

Assesses the functionality of a mass storage block for a flash memory device.

Storage Device Block Driver API Test

Verifies block driver functionality and tests boundary conditions.

Storage Device Block Driver Benchmark Test

Gathers and displays information about the time that is required to complete storage operations.

CD/DVD-ROM Block Driver Test

CD/DVD-ROM File System Driver Test

Assesses the integrity of CD/DVD operations.

Display Drivers

In addition to profiling your device's display driver, test the performance of the graphics device interface (GDI) and Microsoft DirectDraw. The following table shows these tests. The tests are in the %_WINCEROOT%\PRIVATE\TEST directory.

Topic Description

Optimizing a GPE Emulation Function

Describes how to optimize a Graphics Primitive Engine (GPE) function.

Graphics Device Interface Performance Test

Test Results for the Graphics Device Interface Performance Test

Assesses the performance of common display operations.

DirectDraw Test

Instruments the blit, flip, and lock operations.

Networking Drivers

You can use tests with the CETK to analyze Network Driver Interface Specification (NDIS) or Winsock performance. In addition, several networking APIs provide useful information.

Ee480726.collapse(en-US,WinEmbedded.60).gifWinsock Tests

The following code example runs all Winsock tests.

tux -o -d perf_winsock2 -x 1001,1002,1007,1009 -c "-s <server_ip> -i <ip_version>"

where server_ip is the address of a desktop host that runs perf_winsock2.

Ee480726.collapse(en-US,WinEmbedded.60).gifNDIS Tests

To run NDIS performance tests, you must first send and then receive throughput.

The following code example sends throughput on NDIS performance tests.

tux -o -d perf_ndis -c "-mode send -wsock -s <MiniportInstanceName >"

The following code example receives throughput on NDIS performance tests.

tux -o -d perf_ndis -c "-mode recv -wsock -s <MiniportInstanceName >"

Ee480726.collapse(en-US,WinEmbedded.60).gifNetworking Tests

The following table shows the CETK networking tests and networking APIs that you can use to analyze performance issues.

Topic Description

Winsock Performance Test

Is a client/server network performance test that operates at the Winsock level. This test measures sending throughput, receiving throughput, packet loss, and round-trip time across any network connection that uses a protocol that the Winsock API supports.

Testing a Network Interface by Using the Winsock Performance Test

Provides information about specific parameters that you can use to specify which test cases to run.

Winsock Performance Test Cases

Describes the test cases that are included in the CETK.

NDIS Performance Test

Assesses, at the NDIS level, the sending throughput and receiving throughput of a Windows Embedded CE operating system network interface.

To retrieve the name of the network controller, execute the NDIS Performance Test in send or receive mode, with the -c "-enum" parameter.

Improving Performance of an NDIS Miniport Driver

Provides information about optimizing an NDIS miniport driver.

Network APIs

  • RASGetLinkStatistics
    Returns statistics about remote access server (RAS) connections.
  • GetIfEntry
    Returns statistics about network interface adapters, regardless of whether RAS or RIL/NDIS is being used.

See Also

Concepts

Debugging and Testing a Networked Media Device
Testing Real-Time Performance on a Networked Media Device

Other Resources

Tux Command-Line Parameters
Designing Hardware for Networked Media Devices