Re: [WIN32] 2-D Graphics Engine for Win32
- Posted by Ray Smith <smithr at IX.NET.AU> Nov 16, 2000
- 394 views
Hi, An Update on the retrace problem with eu3buf.exw: >The retrace message you receive in eu3buf.exw means your video card >can't handle something. I get the same message on my work and 2 home PC's. >At this stage I haven't even look at what it means, the demo still works >though, but obviously without "some" effects. Note: The C demo programs that come with Allegro (ie the ones I have converted to Euphoria) are for all platforms that Allegro supports. *Some* features aren't available in all platforms and the functions request_scroll() and poll_scroll() aren't [fully?] supported under Windows. I'll leave it in there for now, as it *might* be applicable in a Linux port. Obviously if you are writing a program for Win9x uses only you wouldn't use this feature / or you wouldn't show the message since many uses won't have support for these functions. See below for the doco from the manual. ----------- int request_scroll(int x, int y); This function is used for triple buffering. It requests a hardware scroll to the specified position, but returns immediately rather than waiting for a retrace. The scroll will then take place during the next vertical retrace, but you can carry on running other code in the meantime and use the poll_scroll() routine to detect when the flip has actually taken place (see examples/ex3buf.c). Triple buffering is only possible on certain hardware: it will work in any mode-X resolution if the timer retrace simulator is active (but this doesn't work correctly under win95), plus it is supported by the VBE 3.0 and VBE/AF drivers for a limited number of high- end graphics cards. You can look at the GFX_CAN_TRIPLE_BUFFER bit in the gfx_capabilities flag to see if it will work with the current driver. ------------ Ray Smith