As the headline suggests, my game seems to only run efficiently on Nvidia GPUs. I actually hope I am wrong, and that the explanation could be something other than what I suspect, but as it stands, I believe I have come across some problem inherent either in AMD's cards, or with my game, or perhaps both.
I recently released a game called Paradox Vector. It is a retro FPS game, set in a series of non-euclidean mazes. In it, I use a customized set of line-draw commands to emulate the vector graphics of the 1980s. Here you can see an approximation of the difference in frame rate between Nvidia and AMD cards...
It went through over a year in Early Access on Steam, and it seemed to run well for just about everyone. Some levels were poorly optimized, but I spent a lot of time improving issues that had to do with the levels themselves. However, after leaving Early Access, and moving to full release, it turns out that there is a major flaw somewhere that causes the game to run very slowly on AMD graphics cards.
The differences are not small. On roughly similar computers, I have seen an Nvidia card perform at 50-60 fps, where the AMD card stutters at only 10-12 fps.
Is this My Fault?
I am actually concerned that there is something I did wrong in my game to cause this to happen. I'm hoping and that there might be something I can change or improve to make the game run more efficiently on all graphics cards. This assessment is based on limited data, but from the people who have reported the issue, it is 100% overlapping with the brand of graphics card they are using. The slow frame rate issue only presents when AMD cards are used (so far).
I was getting ready to appear on Darkstation's Twitch Stream when I got the email. “Your game runs at 10 fps!” Imagine my surprise! I still appeared on the show, but we played another one of my games, Star Explorers, which does not seem to have any problems running on AMD cards. So that would suggest the problem is in fact related to a failure of the card to process line draw commands, and not the game engine or other factors based on my programming which, if anything, is much more efficient in Paradox Vector.
In hindsight, it seems obvious that I should have tested the game more thoroughly, on a wider variety of computers. I assumed Early Access would have handled this sort of issue, most players are happy to complain about low frame rates, and I never even considered that the type of graphics hardware would be responsible for such dramatic differences in results.
It's possible that only people with Nvidia cards tested the game during Early Access, but I think what may be more likely is that the people with AMD cards simply returned the game, or stopped playing it and never talked about their bad experiences. A quick search has shown me that Nvidia accounts for about 80% of the PC player population, so either is a possibility. The result is the same though, and there is a sizable chunk of players who will not be able to enjoy this game.
What's the Difference?
As a game developer, I am familiar with video adapters to some degree. However, my games tend to be fairly low-fi experiences, so I never felt the need to get into the finer points of graphics hardware. I assume that both companies are working hard to make the best products they can, and that they should be performing along roughly the same lines.
I know some cards outperform others, and that Nvidia tends to be the leader in most cases, but it honestly never occurred to me that there might be such a huge disparity between the different hardware.
The line draw command used in the game is described in much more detail in this article. Essentially, the engine uses a particle to draw each line. Perhaps AMD cards have some issue in drawing lots of particles? I doubt this is the case, as a lot of games use particles, and we would probably see more discussion about this issue as a result.
You should all know that I am not in any way disparaging the AMD company. I actually love and prefer to use their processors, I am using one right now in fact, and they always tend to provide a lot more bang for your buck. I tend to buy hardware slowly, and a little late, which is one of the reasons I prefer to make, and play, retro style games to begin with.
I spent several hours attempting to tweak the settings on my son's computer (he has an AMD/Radeon Vega) but to no avail. Nothing I did gave it more than 10-12 fps.
If this does turn out, as it currently seems, to be a hardware related issue, then perhaps this situation may serve as a model or benchmark by which AMD may improve upon their product, and make it more competitive with that of Nvidia.
To be sure of what exactly is going on here, I am hoping to get more feedback from players about what their experiences are like with the game. I put out a call for any players with AMD cards to let me know if they have experienced similar problems.
*Note: Cards depicted are not the cards used specifically to test this game.