Microsoft WinG - Beta release - June 27, 1994 ------------------------------------------------- This file describes known bugs, gotchas, and helpful hints for the WinG Beta release. Please remember that this is a beta version and is subject to the usual Beta Disclaimers. Reporting Bugs -------------- The main goal of this Beta release, in addition to providing you with a solid foundation for writing great graphics-intensive Windows applications, is to flush out compatibility problems with WinG. We want to know when you encounter bugs, and want to hear suggestions and/or recommendations you have about WinG or its support files. With this in mind, we have included WINGBUG.EXE in the WinG Beta Development Kit (in the BIN directory of the SDK), an automated tool for gathering information on your configuration for reporting bugs to the WinG development team. This tool creates a complete bug report by prompting you for information about the bug, your configuration, and the steps used to reproduce the bug. The resulting bug report text file should be sent to the wingbug@microsoft.com address, or sent to Microsoft on floppy disk. Before reporting a bug, please be sure that it's not one we already know about by looking through the Known Bugs and Limitations section below. If there is any doubt, send the bug anyway--it's better to have a duplicate bug on file than not know about one. Known Bugs And Limitations -------------------------- The following are known problems with the beta version of WinG. These bugs and design decisions will be fixed or resolved before the final release. Their presence here serves only as a warning to programmers coding for this release. - WinGBitmaps must be created with full 256 entry color tables. - WinG will assert on 8bpp non-palette devices, like the ATI Mach32 8bpp non-palette mode. - CMACRO32.INC from the doggie sample application requires Microsoft MASM 5.1 to compile. You must specify the /NOPACKCODE option when linking segments produced with CMACRO32.INC. - Calling WinGStretchBlt and WinGBitBlt with source coordinates outside of the source boundary can crash WinG. - WinGBitBlt and WinGStretchBlt only support bltting from WinGDCs to the screen. - Several GDI APIs that should work into WinGDCs don't right now. If you discover others not on this list we'd appreciate hearing about them. StrechDIBits with non-1:1 ratio screws up hatched brushes sometimes draw incorrectly FloodFill with a NULL brush draws incorrectly FloodFill outside of the bounds of a WinGBitmap can flood the whole image PALETTERGBs may map differently when compared to the display brushes created with CreatePatternBrush fault when selected some drawing operations draw slightly differently than standard GDI DrawIcon will crash WinGDCs will incorrectly map non-exact matchs in the color-table - You cannot change the origin of halftone brushes. - The sample programs's makefiles are named sample.mk (where sample is the name of the sample) instead of makefile because of limitations with Microsoft Setup. - Some GP Faults within the SVGA256.DRV driver have been found. If you encounter one, please use WINGBUG.EXE and send mail to wingbug@microsoft.com. - WinG does not unload when a GP Fault occurs. For accurate performance, be sure to unload WinG.DLL or reboot Windows after a GP Fault in a WinG application. - WinGBitBlt and WinGStretchBlt sometimes have trouble clipping to non-rectangular clipping regions. If you encounter incorrect behavior, please use WINGBUG.EXE and send mail to wingbug@microsoft.com. - 16-bit WinG applications will not run on Daytona Beta 1 (build 612). You must have Daytona Beta 2 (build 683) to use 16-bit WinG applications under Windows NT. 32-bit WinG applications will run on all versions of Daytona. - Noticeable timing differences have been found while running the WinG profiler on a computer connected to a network. For accurate results, disconnect your computer from the network the first time you run a WinG application. After the profile is complete, you can plug the net in again. A Note on Speed --------------- WinG is designed to be the absolute fastest way to blt DIBs under Windows. The goal is to blt at memory bandwidth to the display device. In other words, we are competing with BitBlt and DOS blts, not StretchDIBits or SetDIBitsToDevice. On most 8bpp devices, if you use the recommended DIB format (returned by WinGRecommendDIBFormat) you should get speeds comparable to BitBlt, and much faster than StretchDIBits. The timewing sample application will show you various blt speeds on your display. The only time WinG (in its final release) will not be able to beat or match BitBlt is on some "device bitmap" drivers. These are drivers that keep HBITMAPs in video ram and use the display hardware to copy to the screen at much higher speeds than one can copy from main memory. If you run timewing and the WinGStretchBlt performance is not as good or better than the StretchBlt case and is not much faster than the StretchDIBits case, please use WINGBUG.EXE and send a bug report to wingbug@microsoft.com. We treat performance problems as priority 1 bugs. After all, if it's not fast it's not worth using. Thanks a lot for your participation in the WinG Beta program!