more on framerate stuff

Search this archive.

From: Steven Seeger (sseeger@stellartec.com)
Date: Tue 26 Jun 2001 - 20:55:48 IDT


Hey all. I've been unable to change my speedtest result from doing anything
with mtrrs. I recompiled the kernel with MTRR support and read through the
documentation but it makes no difference at all.

The card is a TNT2 AGP w/ 32 megs vram running on a 300 mhz pentium 2. Maybe
9.8 secs is ok for such an old computer. My coworker's 800 mhz p3 with the
same video card and the exact same linux gets twice the speed I do with
speedtest, at about 4.6 s at 64,xxx K/sec.

Anyhow, I am writing a game that's an overhead view space shooter type of
thing. It's being written in C++ and a linked list keeps track of all
objects on the screen, and before updating the screen the list is gone
through five times checking each object's level on the graphics screen (5
levels total) and then drawing them in order. With 1000 stars (random
colored pixels on ramdom paths at random speeds) flying around, a ship, and
some bullets, and a FPS indicator I get about 43 fps on my computer. My
friend gets about 80. So I guess that isn't too bad. Anyhow, I notice that
on my computer the FPS label seems to flicker, but I've confirmed that I'm
not clearing it or anything like that. It's only being drawn once per
update. On his computer, the FPS label and the player ship flickers. I
assume this is some issue with the refresh rate of the monitor or something?

I would really like to be able to get rid of the flicker. I have created a
virtual context inside the VRAM and page flip back and forth between them,
and do all my drawing to the non-displayed page of memory. If anyone could
offer some pointers on reducing that flicker I'd appreciate it. Is there a
real easy way to up the refresh rate from 60 hz to say, 75?

Is there a fast way to clear the memory? After I display a page, I need to
clear the other one so I can redraw everything. I can redraw all 1000+
objects and switch pages in about 2 ms. However, in order to draw properly
it needs to start with a blank screen. The quickest way I've found to do
that is to have a background image loaded into the lowest graphics layer
that's just a solid black background. That ups the time per frame to about
20-25 ms. Any faster way to do that?

Thanks for the help, everyone.

Steve


------------------------------------------------------------------
Unsubscribe:  To:   listbot@svgalib.org
              Body: unsubscribe linux-svgalib


This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:24 IST