question: public static void register ( ) { GraphicsPrimitive [ ] primitives = { new GDIBlitLoops ( SurfaceType . IntRgb , GDIWindowSurfaceData . AnyGdi ) , new GDIBlitLoops ( SurfaceType . Ushort555Rgb , GDIWindowSurfaceData . AnyGdi , 0x7C00 , 0x03E0 , 0x001F ) , new GDIBlitLoops ( SurfaceType . Ushort565Rgb , GDIWindowSurfaceData . AnyGdi , 0xF800 , 0x07E0 , 0x001F ) , new GDIBlitLoops ( SurfaceType . ThreeByteBgr , GDIWindowSurfaceData . AnyGdi ) , new GDIBlitLoops ( SurfaceType . ByteIndexedOpaque , GDIWindowSurfaceData . AnyGdi , true ) , new GDIBlitLoops ( SurfaceType . Index8Gray , GDIWindowSurfaceData . AnyGdi , true ) , new GDIBlitLoops ( SurfaceType . ByteGray , GDIWindowSurfaceData . AnyGdi ) } ; GraphicsPrimitiveMgr . register ( primitives ) ; }
target:  Note that we do not register loops to 8-byte destinations.  This is due to faster processing of dithering through our software loops than through GDI StretchBlt processing.