Hi, I'm hoping some of the experts on this site can help me get started by providing me some information and perhaps some detailed guidance.
I need to create a simple (or so I thought) graphics application to move a circle on the screen, and have it bounce off the sides of the screen.
Previously I had done this with VB6 and Directx7. There were ample examples on line to carry this out.
Fast forward to 2013 and I'm finding it hard to do this.
To start off with I'd like to do this via C# using Visual Studio (2010 express).
It also needs to run on Windows XP - Windows 8, but also be designed to run on the next releases of the Windows OSs.
The movement of the circle (ball) needs to be very smooth. I also need to increase the speed of the ball as well from 1x to 3x.
I was hoping I could pull off a simple thing such as this within a Windows Presentation Foundation application, but I found (via various trials using different techniques) that I could not pull off a smooth animation on various systems. For instance I was not able to get the ball moving at a constant frame rate. As well, with CPU spikes this would lead to some choppiness. This would have been ideal because I would not have to directly use DirectX and ideally this would be portable to all windows operating systems.
I then started to look at using C# with DirectX. I read up on XNA but it seems like support for this is ending in the near future. As well, it uses directx9. As well, XP only supports up to directx9c, so now I am looking at questions such as, do I work with directx9c for programming this for all Windows operating systems, or do I look at designing a version with directx9 for XP and a version using DirectX11 for the other operating systems. With that in mind I've started to look into SharpDX.
Could you guys please help me with the below questions first:
Question:
is there anyway to get smooth animations with WPF with regards to what I'm trying to do. I just can't seem to get this to a level where it
is satisfactory.
Question:
Should I use XNA, or should I stay away from it. I'm concerned that the work I'd do with it will lead to some troubles in the future.
Question:
If I use DirectX, because directx9c is the latest version to work with XP, is it safe to use directx9 and have this run on other windows OSs and various graphics cards, or do I need to also write the program using directx 11 as well. Although I believe direct9 would get me running fine now, I'm wondering what will happen in the years to come.
Question:
Do you have experience with SharpDX and is this the way to go if I want to use DirectX with C#.
Question:
Will DirectX 9 continue to be actively supported by graphics cards in the next 3-5 years.
Can I please get your help.
Thanks.