PDA

View Full Version : Issue with OpenGL demo using Catalyst Drivers (Linux and Windows)



theWatchmen
07-22-2014, 02:52 AM
Hi everyone,
I'm developing a small demo for behaviour trees and I'm having some issues when running it on AMD hardware.
I've tested my code with four configurations:

MacBook Pro (NVidia GT650M) - fine
Desktop with CentOS 6.5 (Nvidia Quadro FX) - fine
Desktop with Windows 7 64 bit (AMD HD7950 with Catalyst 14.4) - slow
Desktop with Fedora 19 (AMD HD7950 with catalyst 14.4) - slow

3 and 4 are actually the same machine. The code is not highly optimized but it's not doing anything too complex
either: I have a grid (which I render using GL_POINTS), a line that represents the path found by A* and a moving
agent. The grid has about 10k elements, if I remove that the demo runs better, but still not perfectly.

I guess it's a driver issue, as on 3 and 4 it seems it's running with software rendering; I profiled the code on Windows
with CodeXL and a frame take ~400ms and seems to be using mostly the CPU rather than the GPU.

As final information, I'm using GLEW and GLFW for cross-platform development. The full code is available here:
https://bitbucket.org/theWatchmen/behaviour-trees

Thanks in advance for the help and let me know if you need any further information!

Marco

theWatchmen
08-07-2014, 04:58 AM
Original answer posted on http://www.gamedev.net/topic/659012-issue-with-opengl-demo-using-catalyst-drivers-linux-and-windows/#entry5168395.

It seems that for this particular card GL_POINTS are emulated in software and that's causing the demo to slow down. I will change the grid to triangles to
make sure it runs smoothly on all cards.

hlewin
08-08-2014, 09:50 AM
These are the kind of things I really have no understanding for. If I'd imagine a huge concern like the AMD corporation I'd think they would be able to convert large points at least to quads, even if the hardware can only render triangles. NVidia too is pissing me off with simply ignoring the specs saying certain things about how FILE and LINE are to be defined in shader-sources.