Friday, April 9, 2010

Strange Performance for 1.8.3

I've experimented with putting the entire world into a static vertex buffer, which should in theory make things really really fast by cutting down quite dramatically on the amount of data sent to the GPU during a frame. Oddly enough however it doesn't. In some cases it even drags performance totally down.

Maybe I'm doing something wrong and need to revisit it, but until I determine what the cause may be I've added a cvar (r_staticworldvbo) to control whether it's used or not. If I do get a resolution I'll likely remove the cvar.

2 comments:

Coranth said...

I noticed an oddity when I played DirectQ v1.8.2 on my Notebook this morning. I have a Toshiba Satellite A100 Pro Notebook with 1GB RAM w/ an integrated GeForce Go 7300 Graphics Chip with 256MB Video Memory.

I ran DirectQ (the video mode of the game is set at my desktop's resolution, 1280x800) and played my way to the Necropolis level, and then quit out without saving, and instead of returning me to the Desktop, what I got was a black screen, with a simgle line of... colour near the top of said screen.

I could still move the mouse cursor, but apart from that, nothing else. I had to manually turn off/turn on the machine. I'm using the latest nVidia Driver from Laptopvideo2go if that helps (I know... I know, you say not to use modified drivers, but these are REFERENCE drivers that just have support for more cards added). Driver 197.16.

After resetting the machine, I erased the DirectQ config file then played DirectQ again... and everything worked fine when I quit again. What do you think? Random quirk or bug? It cannot be the driver, as it works fine, like I said. *shrugs* Might want to look over the video / render / screen resolution code or something, maybe?

mhquake said...

Random quirk or bug I would guess. Possibly something else happening on your machine while you were playing, like maybe an AV scan or Windows Update, although it could be anything. Even a rarely used codepath in NVidia's drivers (or even Direct3D itself) that hasn't been properly or fully tested may have been run. I haven't seen anything like that happen before, and it seems impossible to even attempt to reproduce.