Partager via


GDI Performance Tests (Compact 7)

3/12/2014

The Graphics Device Interface Performance Tests (GDI) assesses the performance of common display operations. This test can help you with the following design and development tasks:

Optimize a display driver.

Decide which display driver meets your performance requirements.

Identify which operations to perform in hardware instead of software.

Decide which hardware functionality to support in a display chipset.

Test Prerequisites

Your device must meet the following requirements before you run this test.

The following table shows the hardware requirement for the gdipTest.

Requirement Description

Display hardware

This test requires that you include a display driver in the OS design that is appropriate for the display hardware on your target device

The following table shows the software requirements for the gdipTest.

Requirements Description

Tux.exe

Tux test harness, required for executing the test

Kato.dll

Kato logging engine, required for logging test data

Gdip.dll

Library containing the test

Allropsscript.txt, Iescript.txt, Rdpscript.txt, or Srccopysizes.txt

Script files. You can also write a custom script file.

Subtests

The table below lists the subtests included in this test.

SubTest ID Description

100

BitBlt:

This function transfers pixels from a specified source rectangle to a specified destination rectangle, altering the pixels according to the selected raster operation (ROP) code. Following parameters are used in this scenario:

Source =Handle to the source device context.

Dest =Handle to the destination device context.

ROP =Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.

Width =Specifies the logical width of the source and destination rectangles.

Height =Specifies the logical height of the source and the destination rectangles.

101

PatBlt

This function paints the given rectangle using the brush that is currently selected into the specified device context. The brush pixels and the surface pixels are combined according to the specified raster operation. Following parameters are used in this scenario:

Dest=Handle to the device context.

Brush=Type of brush selected for painting

ROP=Specifies the raster operation code.

Width=Specifies the width, in logical units, of the rectangle.

Height=Specifies the height, in logical units, of the rectangle

102

DrawText:

This function draws formatted text in the specified rectangle. It formats the text according to the specified format method. In this scenario following parameters are used

Dest=Handle to the device context.

FontHeight=Height of text to be drawn

FontWeight=Weight of text to be drawn

Width=Width of rectangle

Height=Height of rectangle

103

Polyline

This function draws a series of line segments by connecting the points in the specified array. Following parameters are used:

Dest=Handle to a device context.

ROP2=Specifies the raster operation code.

Pen=Type of pen used to draw line segments

BkMode=Background can be 'OPAQUE' or 'TRANSPARENT'. Pens are affected by background

Coordinates0=(x,y),(x,y),.....

Coordinates1=(x,y),(x,y),.....

104

MaskBlt:

This function combines the color data for the source and destination bitmaps using the specified mask and raster operation. In this scenario, the following parameters are used:

Source=Handle to the device context from which the bitmap is to be copied. It must be zero if the dwRop parameter specifies a raster operation that does not include a source.

Dest= Handle to the destination device context.

ROP=Handle to the device context from which the bitmap is to be copied. It must be zero if the dwRop parameter specifies a raster operation that does not include a source.

Width=Specifies the width, in logical units, of the destination rectangle and source bitmap.

Height=Specifies the height, in logical units, of the destination rectangle and source bitmap

105

BitBlt:

This function transfers pixels from a specified source rectangle to a specified destination rectangle, altering the pixels according to the selected raster operation (ROP) code. Following parameters are used in this scenario:

Source =Handle to the source device context.

Dest =Handle to the destination device context.

ROP =Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.

Width =Specifies the logical width of the source and destination rectangles.

Height =Specifies the logical height of the source and the destination rectangles.

106

MaskBlt:

This function combines the color data for the source and destination bitmaps using the specified mask and raster operation. In this scenario, the following parameters are used

Source=Handle to the device context from which the bitmap is to be copied. It must be zero if the dwRop parameter specifies a raster operation that does not include a source.

Dest= Handle to the destination device context.

ROP=Handle to the device context from which the bitmap is to be copied. It must be zero if the dwRop parameter specifies a raster operation that does not include a source.

Width=Specifies the width, in logical units, of the destination rectangle and source bitmap.

Height=Specifies the height, in logical units, of the destination rectangle and source bitmap

107

BitBlt:

This function transfers pixels from a specified source rectangle to a specified destination rectangle, altering the pixels according to the selected raster operation (ROP) code. Following parameters are used in this scenario:

Source =Handle to the source device context.

Dest =Handle to the destination device context.

ROP =Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.

Width =Specifies the logical width of the source and destination rectangles.

Height =Specifies the logical height of the source and the destination rectangles.

108

Polyline

This function draws a series of line segments by connecting the points in the specified array. Following parameters are used:

Dest=Handle to a device context.

ROP2=Specifies the raster operation code.

Pen=Type of pen used to draw line segments

BkMode=Background can be 'OPAQUE' or 'TRANSPARENT'. Pens are affected by background

Coordinates0=(x,y),(x,y),.....

Coordinates1=(x,y),(x,y),.....

109

BitBlt:

This function transfers pixels from a specified source rectangle to a specified destination rectangle, altering the pixels according to the selected raster operation (ROP) code. Following parameters are used in this scenario:

Source =Handle to the source device context.

Dest =Handle to the destination device context.

ROP =Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.

Width =Specifies the logical width of the source and destination rectangles.

Height =Specifies the logical height of the source and the destination rectangles.

110

PatBlt

This function paints the given rectangle using the brush that is currently selected into the specified device context. The brush pixels and the surface pixels are combined according to the specified raster operation. Following parameters are used in this scenario:

Dest=Handle to the device context.

Brush=Type of brush selected for painting

ROP=Specifies the raster operation code.

Width=Specifies the width, in logical units, of the rectangle.

Height=Specifies the height, in logical units, of the rectangle

111

BitBlt:

This function transfers pixels from a specified source rectangle to a specified destination rectangle, altering the pixels according to the selected raster operation (ROP) code. Following parameters are used in this scenario:

Source =Handle to the source device context.

Dest =Handle to the destination device context.

ROP =Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.

Width =Specifies the logical width of the source and destination rectangles.

Height =Specifies the logical height of the source and the destination rectangles.

112

PatBlt

This function paints the given rectangle using the brush that is currently selected into the specified device context. The brush pixels and the surface pixels are combined according to the specified raster operation. Following parameters are used in this scenario:

Dest=Handle to the device context.

Brush=Type of brush selected for painting

ROP=Specifies the raster operation code.

Width=Specifies the width, in logical units, of the rectangle.

Height=Specifies the height, in logical units, of the rectangle

113

BitBlt:

This function transfers pixels from a specified source rectangle to a specified destination rectangle, altering the pixels according to the selected raster operation (ROP) code. Following parameters are used in this scenario:

Source =Handle to the source device context.

Dest =Handle to the destination device context.

ROP =Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.

Width =Specifies the logical width of the source and destination rectangles.

Height =Specifies the logical height of the source and the destination rectangles.

114

BitBlt:

This function transfers pixels from a specified source rectangle to a specified destination rectangle, altering the pixels according to the selected raster operation (ROP) code. Following parameters are used in this scenario:

Source =Handle to the source device context.

Dest =Handle to the destination device context.

ROP =Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.

Width =Specifies the logical width of the source and destination rectangles.

Height =Specifies the logical height of the source and the destination rectangles.

115

BitBlt:

This function transfers pixels from a specified source rectangle to a specified destination rectangle, altering the pixels according to the selected raster operation (ROP) code. Following parameters are used in this scenario:

Source =Handle to the source device context.

Dest =Handle to the destination device context.

ROP =Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.

Width =Specifies the logical width of the source and destination rectangles.

Height =Specifies the logical height of the source and the destination rectangles.

116

BitBlt:

This function transfers pixels from a specified source rectangle to a specified destination rectangle, altering the pixels according to the selected raster operation (ROP) code. Following parameters are used in this scenario:

Source =Handle to the source device context.

Dest =Handle to the destination device context.

ROP =Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.

Width =Specifies the logical width of the source and destination rectangles.

Height =Specifies the logical height of the source and the destination rectangles.

117

DrawText

This function draws formatted text in the specified rectangle. It formats the text according to the specified format method. In this scenario following parameters are used

Dest=Handle to the device context.

FontHeight=Height of text to be drawn

FontWeight=Weight of text to be drawn

Width=Width of rectangle

Height=Height of rectangle

118

PatBlt

This function paints the given rectangle using the brush that is currently selected into the specified device context. The brush pixels and the surface pixels are combined according to the specified raster operation. Following parameters are used in this scenario:

Dest=Handle to the device context.

Brush=Type of brush selected for painting

ROP=Specifies the raster operation code.

Width=Specifies the width, in logical units, of the rectangle.

Height=Specifies the height, in logical units, of the rectangle

119

PatBlt

This function paints the given rectangle using the brush that is currently selected into the specified device context. The brush pixels and the surface pixels are combined according to the specified raster operation. Following parameters are used in this scenario:

Dest=Handle to the device context.

Brush=Type of brush selected for painting

ROP=Specifies the raster operation code.

Width=Specifies the width, in logical units, of the rectangle.

Height=Specifies the height, in logical units, of the rectangle

Setting Up the Test

The Windows Embedded Compact Test Kit (CTK) provides four scripts that you can use with the Graphics Device Interface Performance Test.

You can also write a custom script to test a specific function or mimic an application to help you tune the performance of your target device.

While writing a script, consider the following guidelines:

Use the # character to identify a line as a comment.

In a list, use a comma to separate values.

If a comma-separated list is too long for a single line, use a backslash (\) character at the end of the line, and then continue the list on the next line.

With a group of values, for example a list of rectangle coordinates, surround each group with parentheses to make the script easier to read.

The following table shows scripts for the Graphics Device Interface Performance Test that the CTK provides.

Script Description

Allropsscript.txt

Determines which raster operations (ROPs) a display driver accelerates and then tests the accelerated ROPs.

Iescript.txt

Generates information that might help you optimize common display driver operations in a run-time image

Rdpscript.txt

Generates information that might help you optimize common display driver operations in a run-time image that includes Remote Desktop Protocol (RDP).

Srccopysizes.txt

Generates information that shows how display driver operations scale with number of pixels transferred

Running the Test

The gdip Test executes the tux -o -d gdip.dll -c "/s iescript.txt" command line on default execution.

The following table shows the command-line options for the Graphics Device Interface Performance Test, which are in "" after -c.

Command-line parameter Description

/s <scriptfile.txt>

Specifies the path and file name of a script file.

/v <0|1|2>

Specifies the level of verbosity of status information provided by the test. You can specify a value between 0 and 3, inclusive. The default value is 2.

/f <logresult.csv>

Sends test results to a file at a path and file name that you specify.

/x

Result Log in XML Format

/d

Perf Results Sent to Debug Output

Notes:

/d and /f are mutually exclusive

/d and /x are mutually exclusive

The following table shows test cases and supported keywords for the Graphics Device Interface Performance Test that you can specify in a script file.

Test case Supported keywords Notes

[BitBlt]

Source=value,Dest=value,ROP=ROP3_value,Brush=value,Coordinates=(left, top, width, height, source_left, source_top), (left, top, width, height, source_left, source_top), ...,Height=min-max,Width=min-max,Heightstep=increment,Widthstep=increment

Use the Coordinates keyword, or use the Height, Width, Heightstep, and Widthstep keywords. For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively.

[MaskBitBlt]

Source=value,Dest=value,ROP=ROP4_value,Brush=value,Coordinates=(left, top, width, height, source_left, source_top), (left, top, width, height, source_left, source_top), ...,Height=min-max,Width=min-max,Heightstep=increment,Widthstep=increment

Use the Coordinates keyword, or use the Height, Width, Heightstep, and Widthstep keywords. For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively.

[PatBlt]

Dest=value,ROP=ROP3_value,Brush=value,Coordinates=(left, top, width, height), (left, top, width, height), ...,Height=min-max,Width=min-max, Heightstep=increment,Widthstep=increment

Use the Coordinates keyword, or use the Height, Width, Heightstep, and Widthstep keywords. For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively.

[StretchBlt]

Source=value,Dest=value,ROP=Rop3_value,Brush=value,StretchMode=value,Coordinates=(left, top, width, height, source_left, source_top, source_width, source_height), (left, top, width, height, source_left, source_top, source_width, source_height), ...,Height=min-max,Width=min-max,Heightstep=increment,Widthstep=increment

Use the Coordinates keyword or use the Height, Width, Heightstep, and Widthstep keywords. These keywords are mutually exclusive .For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively. If you do not specify a Coordinates keyword and instead specify a range of rectangles, the test assumes that the source and destination rectangles have the same width and height.

[AlphaBlend]

Source=value,Dest=value,Brush=value,BlendFunction=value,Coordinates=(left, top, width, height, source_left, source_top, source_width, source_height), (left, top, width, height, source_left, source_top, source_width, source_height), ...,Height=min-max,Width=min-max, Heightstep=increment,Widthstep=increment

Use the Coordinates keyword, or use the Height, Width, Heightstep, and Widthstep keywords. For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively. If you do not specify a Coordinates keyword and instead specify a range of rectangles, the test assumes that the source and destination rectangles have the same width and height.

[TransparentBlt]

Source=value,Dest=value,Coordinates=(left, top, width, height, source_left, source_top, source_width, source_height), (left, top, width, height, source_left, source_top, source_width, source_height), ...,Height=min-max,Width=min-max,Heightstep=increment,Widthstep=increment

Use the Coordinates keyword, or use the Height, Width, Heightstep, and Widthstep keywords .For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively. If you do not specify a Coordinates keyword and instead specify a range of rectangles, the test assumes that the source and destination rectangles have the same width and height.

[SetPixel]

Dest=value,Coordinates=(x, y), (x, y), ...

The default value for the Coordinates keyword is (1, 1).

[GetPixel]

Dest=value,Coordinates=(x, y), (x, y), ...

The default value for the Coordinates keyword is (1, 1).

[FillRgn]

Dest=value,Brush=value

None.

[LineTo]

Dest=value,ROP=value,Pen=value

None.

[Polygon]

Dest=value,ROP=value,Brush=value,Pen=value,Coordinates0=(x, y), (x, y), ...,Coordinates1=(x, y), (x, y), ......CoordinatesN=(x, y), (x, y), ...

None.

[Polyline]

Dest=value,ROP=ROP2_value,Pen=value,Coordinates0=(x, y), (x, y), ...Coordinates1=(x, y), (x, y), ......CoordinatesN=(x, y), (x, y), ...

None.

[Ellipse]

Dest=value,ROP=ROP2_value,Brush=value,Pen=value,Coordinates=(left, top, right, bottom), (left, top, right, bottom),...,Top=offset,Left=offset, Height=min-max,Width=min-max,Heightstep=increment,Widthstep=increment

Use the Coordinates keyword, or use the Top, Left, Height, Width, Heightstep, and Widthstep keywords. For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively.

[RoundRect]

Dest=value,ROP=ROP2_value,Brush=value,Pen=value,Coordinates=(left, top, right, bottom, ellipse_width, ellipse_height), (left, top, right, bottom, ellipse_width, ellipse_height),Top=offset,Left=offset,RectHeight=min-max,RectWidth=min-max,RectHeightstep=increment, RectWidthstep=increment,EllipseHeight=min-max,EllipseWidth=min-max,EllipseHeightstep=increment,EllipseWidthstep=increment

Use the Coordinates keyword, or use the Top, Left, RectHeight, RectWidth, RectHeightstep, RectWidthstep, EllipseHeight, EllipseWidth, EllipseHeightstep, and EllipseWidthstep keywords. For RectHeight, RectWidth, EllipseHeight, and EllipseWidth, you can specify a single value. If you specify a range for RectHeight, RectWidth, EllipseHeight, or EllipseWidth, specify an increment for RectHeightstep, RectWidthstep, EllipseHeightstep, and EllipseWidthstep, respectively.

[Rectangle]

Dest=value,ROP=ROP2_value,Brush=value,Pen=value,Coordinates=(left, top, right, bottom), (left, top, right,bottom), ...,Top=offset, Left=offset,Height=min-max,Width=min-max,Heightstep=increment,Widthstep=increment

Use the Coordinates keyword, or use the Top, Left, Height, Width, Heightstep, and Widthstep keywords .For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively.

[ExtTextOut]

Dest=value,<One or more font-related keywords>,<One or more string-related keywords>,PositionCoordinates=(x, y), (x,y),..., ClipCoordinates=(left, top, right, bottom), (left, top, right, bottom), ...,Top=offset,Left=offset,Height=min-max,Width=min-max,Heightstep = increment,Widthstep=increment,Clipped=0 or 1,Opaque=0 or 1

For information about font-related keywords, see Font-related Keywords for a Script for the Graphics Device Interface Performance Test. For information about string-related keywords, see String-related Keywords for a Script for the Graphics Device Interface Performance Test. The default value for the PositionCoordinates keyword is (1, 1).Use the ClipCoordinates keyword, or use the Top, Left, Height, Width, Heightstep, and Widthstep keywords. For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively. For keywords that can have a value of 0 or 1, setting the value to 1 enables the associated functionality. Setting the value to zero disables the associated functionality.

[DrawText]

Dest=value,<One or more font-related keywords>,<One or more string-related keywords>,FormatCoordinates=(left, top, right, bottom), (left, top, right, bottom), ...,Top=offset,Left=offset,Height=min-max,Width=min-max,Heightstep=increment,Widthstep=increment,DT_BOTTOM=0 or 1, DT_CALCRECT=0 or 1,DT_CENTER=0 or 1,DT_EXPANDTABS=0 or 1,DT_INTERNAL=0 or 1,DT_LEFT=0 or 1,DT_NOCLIP=0 or 1,DT_NOPREFIX=0 or 1, DT_RIGHT=0 or 1,DT_SINGLELINE=0 or 1,DT_TABSTOP=0 or 1,DT_TOP=0 or 1,DT_VCENTER=0 or 1,DT_WORDBREAK=0 or 1

For information about font-related keywords, see Font-related Keywords for a Script for the Graphics Device Interface Performance Test. For information about string-related keywords, see String-related Keywords for a Script for the Graphics Device Interface Performance Test. Use the FormatCoordinates keyword, or use the Top, Left, Height, Width, Heightstep, and Widthstep keywords. For Height and Width, you can specify a single value. If you specify a range for Height or Width, specify an increment for Heightstep and Widthstep, respectively. For keywords that can have a value of 0 or 1, setting the value to 1 enables the associated functionality.

The following table shows keywords that you can use with any test case in a script file for the Graphics Device Interface Performance Test.

Keyword Acceptable value Description

Iterations

A positive integer

Specifies the number of times that the benchmark engine samples a particular test case. By default, the number of iterations depends on the standard deviation of an initial sample.

Confidence

An integer between 0 and 100, inclusive

Specifies the sensitivity of a test case to the standard deviation of a function. The higher the value that you specify for Confidence, the longer the test case runs. The default value for Confidence is 75.

MaxRunTime

A value greater than zero

Specifies, in minutes, the maximum time for which a test case can run. The default value is 10 minutes.

FlushICache

0 or 1

If set to 1, specifies that the instruction cache be flushed between test runs.

FlushDCache

0 or 1

If set to 0, specifies that the instruction cache be flushed between test runs.

RgnRects

(left, top, right, bottom),(left, top, right, bottom), ...

Specifies the location of the sides of each rectangle.

MinNumberOfRgns

An integer between 0 and the value of RgnRects, inclusive

Specifies the minimum number of rectangles to use when creating a region.

MaxNumberOfRgns

A nonnegative integer

Specifies the maximum number of rectangles to use when creating a region. The default value is the value of RgnRects.

RgnStep

A positive integer

Specifies how many rectangles to add to the rectangle count for each iteration. For example, if the value of RgnRects is 10, MinNumberOfRegions is 0, and RgnStep is 1, the test iterates from using 1 rectangle to using 10 rectangles in steps of 1 rectangle. The result is 10 separate samplings.

CombineMode

RGN_AND RGN_COPY RGN_DIFF RGN_OR RGN_XOR

Specifies that you want to combine a region with the primary region.

The following table shows keywords that you can use with some test cases in a script file for the Graphics Device Interface Performance Test.

Keyword Acceptable value Description

BlendFunction

PPA , SCA ,SCA_<hexadecimal SCA value> , PPA&SCA_<hexadecimal SCA value>

Specifies whether to use a source-constant, alpha-blend operation or a per-pixel, alpha-blend operation, or both operations simultaneously. You can specify a hexadecimal value between 0x00 and 0xFF for the source constant in an alpha blend operation.

Brush

BLACK, DKGRAY, GRAY , HOLLOW, LTGRAY, NULL, WHITE, Pattern<width>x<height>_<bpp> ,Solid

Specifies the type of brush to use. If you specify Pattern without specifying width, height, and bit depth, the test uses a brush with a height of 8 pixels, a width of 8 pixels, and a bit depth of 16 bits per pixel.

Dest

Primary, System_Memory ,Video_Memory, DIB<bpp>_<colors><bit mask, if applicable>

Specifies the destination surface. You can specify multiple values separated by commas. The default value for this keyword is Primary. The value <bpp> specifies bits per pixel. Acceptable values for <bpp> are 1, 2, 4, 8, 16, 24, or 32. Acceptable values for <colors> are PAL, BGR, or RGB. PAL specifies the system palette. Acceptable values for <bit mask, if applicable> are 4444, 565, 555, 1555, 8888, 888, or 4444.

Pen

NULL<width>, BLACK , WHITE, SOLID<width>, DASH<width>

Specifies the type of pen to use. For each type of pen, you can specify a BkMode value that is associated with the surface into which the pen is selected. For BkMode, you can specify a value of OPAQUE or TRANSPARENT. If you specify multiple modes separated by commas, the test runs for each mode in the list.

ROP

(1) ROP2:<0xXX hexadecimal ROP value>, <0xXX hexadecimal ROP value>,All (2) ROP3: <0xXXXXXXXX hexadecimal ROP value>, <0xXXXXXXXX hexadecimal ROP value>,All (3)ROP4:(<0xXXXXXXXX hexadecimal ROP value>, <0xXXXXXXXX hexadecimal ROP value>), (<0xXXXXXXXX hexadecimal ROP value>, <0xXXXXXXXX hexadecimal ROP value>)

Specifies the type of raster operation (ROP).For ROP2, if you do not specify a value, the test uses R2_COPYPEN. If you specify a value of All, the test runs all 16 ROP2 raster operations. For ROP3, if you do not specify a value, the test uses SRCCOPY. If you specify a value of All, the test runs all 256 ROP3 raster operations. For ROP4, if you do not specify a value, the test uses MAKEROP4(SRCCOPY, SRCCOPY).

Source

Primary,System_Memory,Video_Memory,DIB<bpp>_<colors><bit mask, if applicable>

Specifies the source surface. You can specify multiple values separated by commas. The default value for this keyword is Primary. The value <bpp> specifies bits per pixel. Acceptable values for <bpp> are 1, 2, 4, 8, 16, 24, or 32.Acceptable values for <colors> are PAL, BGR, or RGB. PAL specifies the system palette. Acceptable values for <bit mask, if applicable> are 4444, 565, 555, 1555, 8888, 888, or 4444.

StretchMode

BINLINEAR,BLACKONWHITE

Specifies a mode for stretch operations. If you specify multiple modes separated by commas, the test runs for each mode in the list.

The following table shows font-related keywords that you can use with some test cases in a script file for the Graphics Device Interface Performance Test.

Keyword Acceptable value Description

FontHeight

<array of numerical values>

Specifies the font height. The default value for this keyword is zero.

FontWidth

<array of numerical values>

Specifies the font width. The default value for this keyword is zero.

Escapement

<array of numerical values>

Specifies the escapement and orientation of the font. The default value for this keyword is zero.

FontWeight

FW_DONTCARE,FW_THIN,FW_EXTRALIGHT,FW_LIGHT,FW_NORMAL,FW_MEDIUM,FW_SEMIBOLD,FW_BOLD,FW_EXTRABOLD, FW_HEAVY

Specifies the font weight. You can specify multiple values. The default value for this keyword is FW_NORMAL.

Italics

0 or 1

If set to 1, specifies that the font is italic.

Underline

0 or 1

If set to 1, specifies that the font is underlined.

StrikeOut

0 or 1

If set to 1, specifies that the font is strikethrough.

CharSet

ANSI_CHARSET,CHINESEBIG5_CHARSET,EASTEUROPE_CHARSET,GREEK_CHARSET,MAC_CHARSET,RUSSIAN_CHARSET, SYMBOL_CHARSET,BALTIC_CHARSET,DEFAULT_CHARSET,GB2312_CHARSET,OEM_CHARSET,SHIFTJIS_CHARSET,TURKISH_CHARSET,JOHAB_CHARSET,HEBREW_CHARSET,ARABIC_CHARSET,THAI_CHARSET

Specifies the character set. You can specify multiple values .The default value for this keyword is DEFAULT_CHARSET.

OutPrecision

OUT_DEFAULT_PRECIS,OUT_RASTER_PRECIS,OUT_STRING_PRECIS

Specifies the output precision. You can specify multiple values. The default value for this keyword is OUT_DEFAULT_PRECIS.

ClipPrecision

CLIP_DEFAULT_PRECIS,CLIP_CHARACTER_PRECIS,CLIP_STROKE_PRECIS

Specifies the clipping precision. You can specify multiple values. The default value for this keyword is CLIP_DEFAULT_PRECIS.

Quality

ANTIALIASED_QUALITY,NONANTIALIASED_QUALITY,CLEARTYPE_COMPAT_QUALITY,CLEARTYPE_QUALITY,DEFAULT_QUALITY, DRAFT_QUALITY

Specifies the font quality. You can specify multiple values. The default value for this keyword is DEFAULT_QUALITY.

Pitch

DEFAULT_PITCH,FIXED_PITCH,VARIABLE_PITCH

Specifies the font pitch. You can specify multiple values. The default value for this keyword is DEFAULT_PITCH.

Family

FF_DECORATIVE,FF_DONTCARE,FF_MODERN,FF_ROMAN,FF_SCRIPT,FF_SWISS

Specifies the font family. You can specify multiple values. The default value for this keyword is FF_DONTCARE.

FaceName

<name of font to use>

Specifies the name of the font.

The following table shows string-related keywords that you can use with some test cases in a script file for the Graphics Device Interface Performance Test.

Keyword Acceptable value Description

String0

Any string

A single string to test

Unicode0

Array of Unicode values

A single array of Unicode values to test.

String0,String1.......,StringN

For each keyword, any string

Multiple strings to test.

Unicode0,Unicode1,......,UnicodeN

For each keyword, an array of Unicode values

Multiple arrays of Unicode values to test

Verifying the Test

The Graphics Device Interface Performance Test can write test results to a .csv file at a location that you specify by using the -f command-line parameter.

The first line of the .csv file provides a test description that shows the global settings specified in the script file. The second line provides a label for each piece of data in the subsequent lines. The subsequent lines show the tested conditions and the corresponding performance data. For each tested condition, the test reports a minimum, maximum, mean, and standard deviation score. To view the data in the .csv file, you might want to import the .csv file into a spreadsheet application.

Because hardware performs the same operation in less time than software, you might be able to determine where operations are performed by observing the time required to complete each operation.

Below is the sample snapshot for BitBlt test.

BitBlt Count 10

BitBlt

Min

36

BitBlt

Max

131

BitBlt

Mean

120

BitBlt

StdDev

29

BitBlt

CV%

24

Troubleshooting the Test

When you run the Graphics Device Interface Performance Test, the CTK temporarily copies files to the root directory of the target device. Before running the test, verify that there is at least 0.4 megabytes (MB) of free space in the root directory of the target device. If there is not sufficient space in the root directory of the target device, the test cannot run.

For additional platform specific issues, consult the CTK articles on the TechNet wiki.

See Also

Other Resources

Display - GDI Tests