Since XNA and Silverlight are both supported on Windows Phone 7, a common question is which makes more sense for developing games. The definitive answer is “it depends”

Both technologies have their benefits and it would be great if we could eventually get to the point where you could combine the graphics capabilities of both in the same application and use the best tool for the job. Now I haven’t delved too deep into the changes in XNA for Windows Phone so I’ll be going mostly off of what I’ve experienced with game development on XNA in the past.

Generally writing a game will be easier in XNA since XNA was built from the ground up to be a game framework. Many of the decisions made when architecting XNA also make it a non-ideal platform for developing many other types of apps besides games.

The most notable architectural difference is the idea of a visual tree versus drawing everything every frame. In Silverlight for something to be displayed it needs to be added as the child of some other element. In XNA, everything is drawn every frame. If you don’t explicitly draw something it won’t show up. Which one of these is better depends on your game, but if there is a lot of action the XNA “immediate mode” type rendering will probably be the better choice.

Let’s take a look at some benefits of each (I’m sure there are more on both sides):

XNA Benefits

  • Great support for 3D
  • Superior performance when many elements moving or being added/removed
  • Built in game loop
  • XNA’s polling based input generally a better fit than Silverlight’s event based input for games
  • XNA content pipeline makes handling large stores of content easier
  • More image formats supported
  • Can make game for both Xbox and Phone
  • Graphics blend modes (Silverlight only has alpha blending)
  • More GPU acceleration built in
  • Lighter memory footprint for bitmap based games
  • Superior shader support
  • Drawing with a “tint” easier

Silverlight Benefits

  • Vector graphics (XNA has some very basic line drawing support)
  • Vector drawing of text (XNA text is bitmap based)
  • Can make game for phone and web
  • Storyboard animations
  • Visual states and behaviors
  • Navigation framework
  • Controls (button, listbox, user controls, etc)
  • Expression Blend design support
  • Event based model is more familiar to many developers
  • Data binding can come in handy in some scenarios
  • VisualTreeHelper useful for determining what element is being touched

So if you have a game that’s vector graphics based, or relies on things like buttons and other GUI elements you probably want to choose Silverlight for your game development. If you’re doing a 3D game or a 2D game with a lot of motion or particle effects choose XNA. If you’re somewhere in between you may want to pick whatever you’re most familiar with, or it may depend on whether you also want to make the game available on Xbox or web.

It’s great that both options are available and you have the choice of which to use.

XNA or Silverlight for Windows Phone 7 game相关推荐

  1. 马宁的Windows Phone 7.1初体验——XNA与Silverlight集成

    关于Windows Phone Mango真真假假的图片.视频已经在网上流传很久了,微软发布的Windows Phone 7.1 SDK可以让我们看到一部分Mango支持的功能. 普通用户对Mango ...

  2. 分享Silverlight/WPF/Windows Phone一周学习导读(1月17日-1月23日)

    上周微软Silverlight团队发布"微软发布Silverlight Native Extensions 1.0 - 扩展OOB应用功能",对于Silverlight开发人员而言 ...

  3. 分享Silverlight/WPF/Windows Phone一周学习导读(10月1日-10月15日)

    分享Silverlight/WPF/Windows Phone一周学习导读(10月1日-10月15日) 本周Silverlight学习资源更新: [Silverlight入门系列]ListboxIte ...

  4. 分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日)

    分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日) 本周Silverlight学习资源更新 Silverlight 定位 niejunhua [学习 ...

  5. 分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日)

    分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日) 本周Silverlight学习资源更新: Silverlight Tools 4安装时的错误提示 ...

  6. 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(4月16日-4月22日)

    分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(4月16日-4月22日) 本周Silverlight学习资源更新 银光中国网友原创:Silverlight中获取 ...

  7. 分享Silverlight/WPF/Windows Phone一周学习导读(07月18日-07月24日)

    上周,微软推出Silverlight新版官方网站,新网站综合旧版网站内容,并增加更多Silverlight学习资源以及案例展示,Silverlight官网是学习Silverlight开发技术的主要资源 ...

  8. 分享Silverlight/WPF/Windows Phone一周学习导读(10月16日-10月22日)

    分享Silverlight/WPF/Windows Phone一周学习导读(10月16日-10月22日) 本周Silverlight学习资源更新 Silverlight:分包下载及SEO优化方案 菩提 ...

  9. 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(4月2日-4月8日)

    分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(4月2日-4月8日) 本周Silverlight学习资源更新 Microsoft Silverlight 4从入 ...

最新文章

  1. Machine Learning | (3) Scikit-learn的分类器算法-k-近邻
  2. 自动化运维-云装机实践
  3. IO流——流的分类、InputStream、OutputStream、Reader、Writer等
  4. Ensure that config phoenix.schema.isNamespaceMappingEnabled is consistent on client and server
  5. solaris php,在Solaris 10 64位上配置PHP
  6. retrofit与rxjava使用
  7. c++ map用法_5分钟掌握Python | Map、Reduce和Filter如何运用?
  8. Solidity-让合约地址 接受ETH的转账充值的 三种方式
  9. 软件项目经理应具备的素质和条件_软件企业项目经理应具备的基本能力
  10. Android 根据名字获取经纬度,Android 根据城市获取经纬度 适配Android 7.0 、Android 8.0...
  11. 一:使用FreeIPA安装Kerberos和LDAP( IPA-Client安装)
  12. 弗洛伊德的兔子与乌龟
  13. 【游戏客户端】制作节奏大师Like音游(全)
  14. 阿泰,水晶报表--推拉之间
  15. 字节跳动三场技术面+HR面,掌握这些知识点再也不怕面试通不过!
  16. 分别用雅可比(Jacobi)迭代法和高斯—塞德尔(Gauss—Seidel)迭代法求解线性方程组
  17. VB全面控制Excel方法大汇总
  18. CSDN联合安恒信息 共同发布安全开发工程师能力标准
  19. 基于Casbin实现ABAC
  20. 【信道编码/Channel Coding】汉明码Hamming Code

热门文章

  1. 搜集访问网页历史记录软件_微软宣布OneDrive版本历史记录功能抵达Win10和macOS客户端版...
  2. ❤️缓存集合(一级缓存、二级缓存、缓存原理以及自定义缓存—源码+图文分析,建议收藏) ❤️
  3. 2D转换之缩放scale(CSS3)
  4. JavaScript:class类的实现方式及特点
  5. HTML中的table和div
  6. 后端基础概念:各种OCV一网打尽(上篇)
  7. ISE与Notepad++关联
  8. php 脚本调试,PHP 调试脚本
  9. InvocationTargetException 浅析
  10. 微型计算机d3000,13级仪表微机重点教程.doc