• Register
Post news Report RSS Help! My Game Only Runs on Nvidia GPUs.

In this brief article, I discuss some of the differences in Paradox Vector's performance based on the type of graphics card being used.

Posted by on

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.

An AMD Radeon XFX 580

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.

Creepy


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.

Nvidia GTX1080 Founder's Edition

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.

Jelly blast

Whats' Next?
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.

Images are used under Creative Commons Share Alike 4.0 License:
GeForce Card: Commons.wikimedia.org's_Edition_in_case.jpg
Radeon Card: Commons.wikimedia.org

Post comment Comments
ssd21345
ssd21345 - - 172 comments

I don't know this article feels clickbait and not provide any useful info comparing the article u linked. Have you tried asking on StackExchange for what could be the problem for the specific case? maybe on softwareengineering.

Reply Good karma Bad karma+3 votes
MKSchmidt Author
MKSchmidt - - 48 comments

I have been searching for solutions on the Gamestudio forum (the game is made with 3D Gamestudio) but to no avail. I don't know if Stack Exchange or Softwareengineering would have a lot of people who use Lite-c, but maybe it's worth a shot.

Reply Good karma+2 votes
Guest
Guest - - 688,627 comments

Clickbait indeed. If you need publicity, do it the right way, not by blaming AMD. Maybe your game or game engine is using some Nvidia specifics that have to be emulated in software for AMD. Just because you didn't setup your project right it doesn't mean you can put the blame on others. This is childish.

Reply Good karma Bad karma+2 votes
MKSchmidt Author
MKSchmidt - - 48 comments

Okay, I am sorry about that. I changed the headline. I do appreciate the feedback.

Reply Good karma+2 votes
Guest
Guest - - 688,627 comments

Gamestudio uses Nvidia PhysX which will run on CPU only on an AMD video card.

Reply Good karma Bad karma+3 votes
MKSchmidt Author
MKSchmidt - - 48 comments

I thought of that, but this game does not use any of the PhysX features.

Reply Good karma+2 votes
Guest
Guest - - 688,627 comments

Are you sure? If you're doing any raycasting then it will be done through PhysX. It's easy to abuse raycasting for stuff like AI 3D navigation.

Reply Good karma Bad karma+2 votes
MKSchmidt Author
MKSchmidt - - 48 comments

The game does a lot of c_trace commands. If those count as raycasting, then I guess you are right. But the game does not use the "#include <ackphysx.h>" line which would initiate the Physx features like rigid bodies and such.

Reply Good karma+1 vote
Guest
Guest - - 688,627 comments

Profile it, and post the results for the main cpu and gpu bottlenecks between the two system setups. Once you know what's slow you can look into it more diligently, could be driver, could be software emulation, who knows.. profile..

Reply Good karma Bad karma+4 votes
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: