我一般都是.net编程和Windows Phone 7的新手(我是一个Java人)
我在我的大学写了一个Windows Phone 7工作室的应用程序,它有一个半增强现实模式。 (半因为win-pho7不允许相机进纸)
主要是我需要在俯仰,偏航和gps变化(我订阅)的背景下渲染各种图像的叠加(应该是相机输入)。
我试图了解是否需要使用XNA,因为在我看来这是一个图形要求很高的任务,这就是我们解释XNA的用途,或者我可以使用Silverlight,这似乎更简单的开发用于draggabale控制和所有。
我希望我的问题可以提出,如果不是,请问我,我会提供更多的澄清。
谢谢,
以太
的更新
我主要试图理解是否渲染大约20个2D图像,这些图像将根据上述事件重新渲染,是Silverlight可以处理的,还是需要xna(因为图形要求太高)?
如果有人对这些问题有经验,我想听听
上次更新(希望如此):
我最关心的是silverlight处理屏幕刷新的能力,说话
看到这是一个增强现实应用程序,每当用户移动手机时我需要调整叠加图像,没有什么比这更复杂的只是向上/向下/向左/向右移动几个像素偏移,但仍有要做的事。
我担心尝试对图像应用那些小而频繁的更改会变成一个问题吗?并且看到这些是两种不同的实现路径,我认为这不符合过早优化的要求
我认为你很容易理解我宁愿用户使用silverlight,我也不确定它能否处理它
非常感谢您阅读所有更新,
Ittai
答案 0 :(得分:2)
除非您需要特定于XNA的内容,否则我个人会选择Silverlight。
XNA特定功能是:
这是最后一个可能使XNA看起来像是要去的那个但如果你只是覆盖预定义的图像或多边形,我会坚持使用Silverlight。
只要图像数量不大并且有很多重叠,图像的数量就不会成为问题。
免责声明(应考虑任何潜在的偏见):我拥有比使用XNA更多的Silverlight经验。如果有更多XNA和更少Silverlight经验的人看到这种情况,我不会感到惊讶。
答案 1 :(得分:2)
我有同样的疑问。我相信WPF / Silverlight比XNA更好,因为代码水平很高。我们有很多控件,XNA没有。我实际上是在WPF中创建一个游戏。但我必须更进一步。 嗯,这个链接可以帮助你: What limitations does WPF have comparing to XNA?
如果您认为在渲染时需要更多性能,那么我的建议是使用XNA。
答案 2 :(得分:1)
我会说你可以使用其中任何一个来操作2D图像。两者都具有能够实现此功能的API,并且两者都能够处理资源受限设备上出现的性能问题。
您可以看到的是每个您可能想要使用的独特功能。
Silverlight将控件带到表中。如果您正在接受用户输入并显示图像以外的内容,这可能是您的一个重要考虑因素。目前,XNA刚刚开始获得一些社区开发的支持来填补这个漏洞。
XNA带来了3D图形API,并支持通常在图形密集型应用程序(如游戏)中进行的数学计算,如矢量,矩阵,平面,光线,边界类型,3D空间中的交点。
您还可以查看当前的技能组合,了解哪种技能可以缩短学习时间。
我认为你的Java体验一直是平台功能(比如UI控件),它们与Silverlight比XNA更相似,但这是一个假设。
我很久以前在Uni时使用C而没有图形API支持将纹理和光线追踪渲染到2D图像上,你可以在Java中完成同样的工作。借助像XNA这样的API,这种项目会更容易。
编辑:WRT到你的上一次更新,这些转换可以使用silverlight在渲染线程(gpu)上处理,就像使用XNA API完成的纹理动画会传递给gpu线程一样。我建议首先对图片动画进行一些性能测试,以确认你在潜水太远之后不会有任何惊喜。
如果你觉得如此倾向,你可以使用XNA复制演示进行比较,看看是否在启动多个动画的效率方面有任何值得注意的差异。虽然我确信每个动画都会比较一致。
答案 3 :(得分:1)
我同意之前的答案,以及您对“过早优化”的评估:
需要注意的重点:
的Eyal
答案 4 :(得分:0)
就开发时间而言,Silverlight将更快,更高效。如果您使用xna,您将花费大量时间来实现Silverlight提供的开箱即用的控件或功能。
在表现方面。 XNA为您提供更多控制和更好的性能。
您也可以将它们混合在一起。我开发了一个wp7游戏,我用XNA api来处理音频,因为它比silverlight容易得多。
我想最好的解决方案是使用silverlight制作您的应用程序,如果需要,可以调用XNA api来处理更多图形密集型要求。