cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

JoeDoe82
Journeyman III

Mecha/A-buffer implementation

Cross post in nearby topic.

I've found that on my new Radeon HD 5770 DX SDK sample named OIT11 has really terrible performance (about 12 fps using newest 9.12 drivers). The problem seems to be in the prefix sum pass, where RWBuffer is used. Each ::Dispatch() call drops performance by a factor of 2, so after log(N) passes demo produces 12 fps. Can someone explain me how Mecha demo implements A-buffer and how one can avoid performance drop? Everything I know is that instead of RWBuffer resource Mecha uses RWTexture2D.

0 Likes
4 Replies
sigmainfotech
Journeyman III

hi..

i am quite new here

but it seems to very nice post for us...

0 Likes

I wrote a simple implementation of OIT algorithm, it performs in real-time.

Demo can be downloaded by the following link:

http://rapidshare.de/files/49021718/oit_dx11.zip.html

0 Likes

same here! I am just a new memeber but I will try to downlod this Joe, what demo is this?

0 Likes
JoeDoe82
Journeyman III

I did some research and found that OIT11 implementation is naive. Written in a way "How not to do it" Efficient prefix sum algorithm (by Blelloch) should be used instead, and thread block should consist of at least 64 threads. Also RWBuffer clearing drops performance significantly with current drivers (although it isn't necessary for OIT).

0 Likes