My main question is this: for graphic processing (e.g. moving images, collisions, scaling etc.), is there something I can do to get the best performance out of the processing? Under what circumstances is the GPU used instead of the CPU, and can I selectively use one over the other? Should I? Also, what Graphic API should I use if I wanted to get the best performance with graphic processing. Or should I even use an API at all?
I feel as though I'm asking to many questions in one Question, or that I'm not wording it correctly, but I don't see how I could do otherwise. If any 开发者_运维百科clarification is needed, just ask. I've searched many places, but this may be a duplicate, so my apologies if it is.
I'm not sure what you are creating, but these are my musings on the subject:
A good option is XNA. That is basically a wrapper on top of DirectX that is made for utilizing the GPU for graphic intensive tasks, but hides some of the dirty implementation of using DirectX directly. Your best option for games, graphical simulations etc.
Another option is WPF that also uses DirectX at the bottom, but is more geared towards creating user interfaces than games and similar tasks, but is extremely flexible.
WinForms/GDI+ is your worst option, since it does not use hardware acceleration at all, and will only use the CPU.
精彩评论