Testing Device Drivers on a Networked Media Device (Windows CE 5.0)

Send Feedback

The performance of device drivers can negatively impact the user experience. Use the Windows CE Test Kit (CETK) to test your device drivers. Once you have built the CETK source code and obtained test results from the CETK, you will need to analyze the test results.

Block Drivers and File System Drivers

The following table shows three 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 Cases 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 required to complete storage operations
CD/DVD-ROM Block Driver Test

CD/DVD-ROM File System Driver Test

Assess the integrity of CD/DVD operations.

Display Drivers

For a step-by-step guide on optimizing display drivers, see see How to Profile and Optimize a Display Driver. This topic discusses how to use profiling and performance tools to understand what performance issues are occurring, and how to measure the performance impact of operations in the run-time image. The following topics contain especially useful information:

In addition to profiling your display driver, test the performance of the graphics device interface (GDI), and test the performance of DirectDraw. The following table describes 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 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 NDIS or Winsock performance. In addition, several networking API provide useful information.

  • Winsock tests

    The following input 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 running perf_winsock2 server.

  • NDIS tests

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

    The following input sends throughput on NDIS performance tests:

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

    The following input receives throughput on NDIS performance tests:

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

The following table summarizes the CETK networking tests and networking API you can use to analyze performance issues.

Topic Description
Winsock Performance Test 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 you can use to specify which test cases to run.
Winsock Performance Test Cases Describes the test cases included in the CETK
NDIS Performance Test Assesses, at the Network Driver Interface Specification (NDIS) level, the sending throughput and receiving throughput of a Windows CE operating system (OS) 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 API
  • RASGetLinkStatistics

    Returns statistics on RAS connections

  • GetIFEntry

    Returns statistics on network interface adapters, regardless of whether RAS or RIL/NDIS is being used.

See Also

Testing Real-Time Performance on a Networked Media Device | Tux Command-Line Parameters | Designing Hardware for Networked Media Devices | Debugging and Testing a Networked Media Device

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.