DirectX Block Transfer Options

In Fastgraph's DirectX libraries, you can specify whether certain functions use their own native code for block transfers, or if they use the DirectX Blt() or BltFast() blitting methods. This applies to the block transfer functions fg_copypage(), fg_vbcopy(), and fg_vbtzcopy(), as well as the fg_erase() and fg_fillpage() functions. By default, these functions will all use the DirectX blitting methods, but you can change this behavior by calling fg_ddsetblt().

The fg_ddsetblt() function's only parameter defines which blitting strategy to use. A value of zero means the affected functions will use Fastgraph's own native code, while any other value means they will use the DirectX blitting methods. You can switch between the two strategies at any time. The fg_ddsetblt() function is present only in Fastgraph's DirectX libraries.

The actual performance difference between Fastgraph's own code and the DirectX blitting methods depends on several factors. These include the extent of hardware acceleration in a particular DirectX implementation, how well the DirectX implementation is optimized, an application's color depth, and whether an application uses DirectDraw blitting or page flipping. We've generally found that using the DirectX blitting methods is faster for fg_vbtzcopy(), but slower for fg_copypage(), fg_erase(), fg_fillpage(), and fg_vbcopy().

<< Prev

Next >>

Contents
Fastgraph Home Page

 

copyright 2001 Ted Gruber Software, Inc.