比较X.N.一个& W.P.F

时间:2021-11-04 16:12:18

I have designed an interface for Windows. I want to develop it.

我为Windows设计了一个界面。我想开发它。

Instead of writing a shell for Windows which will require me to learn a lot and a lot and a lot more new things i am thinking about making a Full Screen App which will run on windows and users will only be able to interact through this app. I think Microsoft Surface does the same.

而不是写一个壳为Windows这需要我学习很多,很多,很多新事物我在考虑做一个全屏幕应用程序将运行在Windows和用户只能通过这种交互应用。我认为微软表面做了同样的事情。

So i was looking at my options, i have decided to do this in managed code, C# cuz that's where my expertise lie and the development will be easy.

所以我在考虑我的选择,我决定用托管代码来做这个,c#因为这是我的专长所在,开发很容易。

After that i need to choose from WPF or XNA, hold on let me explain XNA. I don't know WPF yet so i don't know it's power but i was thinking if i was to put some "Intensive Graphics" for my interface, with XNA it will be really easy cuz i can use "Particle System" and stuff. If you have worked with XNA you would know what i mean, create interfaces in 2D and all, while using the power of XNA.

之后我需要从WPF或XNA中选择,等等,让我解释一下XNA。我还不知道WPF,所以我不知道它的功能,但我在想,如果我要给我的界面添加一些“密集的图形”,使用XNA会非常简单,因为我可以使用“粒子系统”之类的东西。如果你和XNA一起工作,你就会知道我的意思,在2D和所有的界面中创建接口,同时使用XNA的力量。

The other option is WPF, which i don't know, therefore, i can't make a decision myself.

另一种选择是WPF,我不知道,所以我不能自己做决定。

So, people who know WPF & preferable XNA as well.

所以,了解WPF的人也更喜欢XNA。

Why i shouldn't be using "C# + XNA", what disadvantages will be there and where will this combination fail.

为什么我不应该使用“c# + XNA”,会有什么缺点,这种组合会在哪里失败。

Why should i be using WPF or is WPF going to be good-enough Graphics-wise i mean like animating anything, i literally mean anything etc etc.

为什么我要使用WPF或者WPF是否足够好呢?我的意思是我喜欢动画任何东西,我的意思是任何东西等等。

p.s

附:

I know i will have to select one answer but all the answers will be a very beneficial discussion for me.

我知道我必须选择一个答案,但是所有的答案对我来说都是非常有益的讨论。

3 个解决方案

#1


1  

As a games programmer myself I found a transition to WPF to be very challenging. Still, it is miles ahead of XNA in terms of GUI design. If your application (which you should really tell us more about) relies on GUI for user interaction, you would have to create an entire GUI system from the ground up in XNA. That does not sound fun to me.

作为一名游戏程序员,我发现向WPF的过渡非常具有挑战性。尽管如此,在GUI设计方面,它仍然领先XNA几英里。如果您的应用程序(您应该告诉我们更多的内容)依赖于GUI来进行用户交互,那么您将不得不在XNA中从头创建一个完整的GUI系统。这听起来并不有趣。

WPF has some rich media access. You can perform render transforms on controls. There is also a Viewport3D object which allows you to render 3d objects. A quick Google search also turned up a particle engine, though I can't verify the effectiveness of it.

WPF有一些丰富的媒体访问。您可以对控件执行呈现转换。还有一个Viewport3D对象,它允许您呈现3d对象。一个快速的谷歌搜索也出现了一个粒子引擎,尽管我无法验证它的有效性。

Basically, if you're writing a GUI application, use WPF and learn how to adapt it for your purposes. Don't force yourself to write an entire GUI/page system in XNA. That's not what XNA is meant to do, and I know from minimal experience of writing GUI functions for my games that it's just a major pain.

基本上,如果您正在编写一个GUI应用程序,请使用WPF并学习如何根据您的目的调整它。不要强迫自己在XNA中编写整个GUI/页面系统。这不是XNA应该做的,我从为我的游戏编写GUI函数的经验中知道,这只是一个很大的痛苦。

#2


1  

XNA and WPF are fundamentally different technologies so you need to pick the one that suits your situation. XNA is geared toward the game developer, while WPF is for application development.

XNA和WPF是完全不同的技术,所以您需要选择适合您的情况的技术。XNA是面向游戏开发人员的,而WPF是用于应用程序开发的。

Do you need to utilize the graphics card? Need to write a game for Xbox 360? Choose XNA.

你需要使用显卡吗?需要为Xbox 360写游戏吗?XNA的选择。

Do you need to make a desktop application that lets users view and edit data? This includes Web browser, media player, word processor, etc. Choose WPF.

您是否需要创建一个桌面应用程序来让用户查看和编辑数据?这包括Web浏览器、媒体播放器、文字处理器等。

#3


0  

I think for your situation, XNA might be a better way to go (though WPF should provide similar support), as XNA goes to more platforms than WPF.

我认为针对您的情况,XNA可能是一种更好的方式(尽管WPF应该提供类似的支持),因为XNA使用的平台比WPF多。

Via MonoGame (http://monogame.codeplex.com), XNA based applications can be running on iOS, Android, OS X, Linux, and much more.

通过一夫一妻制(http://monogame.codeplex.com),基于XNA的应用程序可以在iOS、Android、OS X、Linux等平台上运行。

#1


1  

As a games programmer myself I found a transition to WPF to be very challenging. Still, it is miles ahead of XNA in terms of GUI design. If your application (which you should really tell us more about) relies on GUI for user interaction, you would have to create an entire GUI system from the ground up in XNA. That does not sound fun to me.

作为一名游戏程序员,我发现向WPF的过渡非常具有挑战性。尽管如此,在GUI设计方面,它仍然领先XNA几英里。如果您的应用程序(您应该告诉我们更多的内容)依赖于GUI来进行用户交互,那么您将不得不在XNA中从头创建一个完整的GUI系统。这听起来并不有趣。

WPF has some rich media access. You can perform render transforms on controls. There is also a Viewport3D object which allows you to render 3d objects. A quick Google search also turned up a particle engine, though I can't verify the effectiveness of it.

WPF有一些丰富的媒体访问。您可以对控件执行呈现转换。还有一个Viewport3D对象,它允许您呈现3d对象。一个快速的谷歌搜索也出现了一个粒子引擎,尽管我无法验证它的有效性。

Basically, if you're writing a GUI application, use WPF and learn how to adapt it for your purposes. Don't force yourself to write an entire GUI/page system in XNA. That's not what XNA is meant to do, and I know from minimal experience of writing GUI functions for my games that it's just a major pain.

基本上,如果您正在编写一个GUI应用程序,请使用WPF并学习如何根据您的目的调整它。不要强迫自己在XNA中编写整个GUI/页面系统。这不是XNA应该做的,我从为我的游戏编写GUI函数的经验中知道,这只是一个很大的痛苦。

#2


1  

XNA and WPF are fundamentally different technologies so you need to pick the one that suits your situation. XNA is geared toward the game developer, while WPF is for application development.

XNA和WPF是完全不同的技术,所以您需要选择适合您的情况的技术。XNA是面向游戏开发人员的,而WPF是用于应用程序开发的。

Do you need to utilize the graphics card? Need to write a game for Xbox 360? Choose XNA.

你需要使用显卡吗?需要为Xbox 360写游戏吗?XNA的选择。

Do you need to make a desktop application that lets users view and edit data? This includes Web browser, media player, word processor, etc. Choose WPF.

您是否需要创建一个桌面应用程序来让用户查看和编辑数据?这包括Web浏览器、媒体播放器、文字处理器等。

#3


0  

I think for your situation, XNA might be a better way to go (though WPF should provide similar support), as XNA goes to more platforms than WPF.

我认为针对您的情况,XNA可能是一种更好的方式(尽管WPF应该提供类似的支持),因为XNA使用的平台比WPF多。

Via MonoGame (http://monogame.codeplex.com), XNA based applications can be running on iOS, Android, OS X, Linux, and much more.

通过一夫一妻制(http://monogame.codeplex.com),基于XNA的应用程序可以在iOS、Android、OS X、Linux等平台上运行。