Click here to Skip to main content
15,890,825 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Hi guys,

I have been coding with C++ and DX9c for a few years now. But, I must admit I have been using Game Maker: Studio for the past 6 months.

I am now back to writing my own framework in DX9c again as I have hit a few issues that just can't be gotten around in GM:S.

The point of concern is that I am bewlidered as to why my framework is slower than GM:S.

I have created a comparision project in both my framework vs GM:S and here are the results. First column is the number of objects being rendered and the rest is the FPS.

C#
Rendered Sprites (256x256)	ID3DXSPRITE	Quad		GM:S 1.3

0				1740		1740		~1400	
1 				1570		1740		~1350
10				706		1209		~1350
100				106		297		~1100
500				25		68		~620
1000				13		35		~450


I have stripped my render loop to the bone, so all it is doing is this;

C#
for(int i=0;i<1000;i++)
    mRenderer->getDevice()->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);


How is it possible that GM:S is still over 10 times faster under load. GM:S also uses DirectX 9c.

Just had a thought while typing this. I am using Summer 2004 DX SDK where GM:S uses June 2010. Could that make such a significant performace increase?

Thanks in advance, guys :)
Posted

1 solution

I don't know for sure, but I suspect that the more recent SDK is the reason. Over time, more and more has gone from software rendering to hardware support on the graphics cards, and 2004 was 10 years ago. I'd actually be surprised if there wasn't a significant improvement in the more recent SDKs.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900