View Single Post
Old 10-31-07, 10:29 AM   #6
walterman's Avatar
Join Date: Oct 2003
Posts: 1,525
Lightbulb Re: 8800GTX + Direct3D8 + Visual C++ + XP = Random Performance Increase

I solved it.

This is something really interesting.

It seems like the nVidia driver has some sort of problem with BR2. When you do alt-tab, the non-shared video memory use is increased in 7MB.

When you reach 250MB +-, with my 768MB GTX, the non-shared video memory stops growing (1 GB total ?).

This non-shared video memory, is like the old AGP memory, a block of system ram, that the gfx card can use too, to store buffers.

It seems like when this part of the ram is filled, the direct3d memory manager, puts all the buffers in the local video memory of your gfx card, which is much faster.

I changed the memory zone in which i create the vertex buffers in my application, from D3DUSAGE_DYNAMIC|D3DUSAGE_WRITEONLY to D3DUSAGE_WRITEONLY, and now the vertex buffers are created in the local video memory of the card, and they are processed a 10% faster now.

The funny, is that this 'bug' affected other games, for the same reason. This bug was forcing all the buffers to be created on the local video memory of the card, and that's why i was getting this global 10% boost.
ASUS Rampage Formula X48 | Xeon 3350 @ 3.6 GHz (450x8/1.26v) | 4x1GB OCZ DDR2 PC2-6400 Reaper CL3 @ 900 MHz 3-4-4-15 | 1 x eVGA GTX 285 SSC | 1 x ASUS EN8800GTX (PhysX/CUDA -> Burnt by nVidia 196.75 driver) | X-Fi Titanium Fatal1ty PCIe | 1 x Intel X25-M G2 80GB | 2 x 750GB WD RE2 7500AYYS SATA2 16MB | Samsung SH-B083L SATA | Enermax Revolution 1250W | Samsung SyncMaster 275T 27" 1920x1200 | Thermaltake Black Armor | BloodRayne 2 FSAA Patch
walterman is offline   Reply With Quote