Xref: news-dnh.mv.net comp.os.msdos.djgpp:897 Path: news-dnh.mv.net!mv!news.sprintlink.net!gatech!purdue!oitnews.harvard.edu!news.sesqui.net!rice!news!sandmann From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: Calling VESA paging function w/o DPMI Date: Wed, 12 Jul 1995 07:56:09 CDT Organization: Rice University, Houston, Texas Lines: 20 References: <3tvkjs$ov7 AT gaea DOT titan DOT org> Reply-To: sandmann AT clio DOT rice DOT edu Nntp-Posting-Host: clio.rice.edu To: djgpp AT sun DOT soe DOT clarkson DOT edu Dj-Gateway: from newsgroup comp.os.msdos.djgpp > I'm in the process of writing my own VESA library. I have everything > working, but right now it is calling the VESA window positioning function > with _go32_dpmi_simulate_fcall. This works fine, except that my frame > rate is abysmal. In 320x200, on a 486/33 I can blit something like 170 fps > (w/o vertical synch on of course), since I don't have to do any paging. > But in 640x480, my fps drops to about 12. Since I'm only copying 4.8 > times as much data, the best I could expect would be 35 or so. Obviously, > there is a very high amount of overhead in calling a dpmi function. You can make about 10,000 far calls per second on a 486/33 under Win 3.1, so I don't think that's your problem. Don't forget the overhead of the Vesa call itself, which may contribute to your problems. Currently if GO32 or CWSDPMI is providing the far calls the performance would drop to about 3,000 far calls per second on the same machine due to a design issue which will get fixed in some future CWSDPMI release. If your VESA bios will run in protected mode you can try calling it directly - I suggest you review the built-in VESA driver in djgpp for some info on trying that.