I'm currently working on my thesis (Software Engineering), studying the VRAM behavior of radeon. For r600g, much of the remaining gap to fglrx can be explained by less than optimal VRAM use. There's fragmentation, and there's ping-pong of buffers to and from VRAM.
You can help by recording a trace of the app's memory use. If you use Oibaf's PPA, you're set; if you build Mesa yourself, please apply the patches from the stats6 branch.
Run the app with the R600_DEBUG environment variable set to enable tracing (bostats), for example "R600_DEBUG=bostats dota2". The trace will be written to /tmp/bostats.[pid].dota2.
Once a few minutes of gameplay have been captured, exit the game. Please compress this file with XZ, upload somewhere (dropbox, anonfiles, bayfiles, etc) and e-mail me the link to cand at gmx dot com.
Please include a description of the app, settings used, and the version of the app. If it's a private application, please specify that too.
I would really appreciate traces from commercial apps, both native and those used via Wine. I can record most open-source apps myself, but if you have a specific case (for example, Xonotic with specific settings only) that runs badly, please record that.
- The machine doesn't have to be the slow one. For example, if WoW is slow on your integrated card, but fast on a discrete, feel free to record on the discrete. The trace will be the same, assuming settings are the same.
- There is nothing confidential in the trace, so any private apps are safe to record.
- If your /tmp is in RAM, a big trace might fill it -- use TMPDIR=/home/foo etc to specify a dir on storage.
- While radeonsi could be used in theory, it has not been tested, and traces from it are incorrect (they lack much of the cpu statistics).
Thanks to Lauri Kasanen for reaching out to us so that Phoronix readers can help him in having a successful thesis and his continued work on improving the open-source Radeon Linux graphics driver. For any questions, please drop by the forums.