[Silverlight] 當麻許的Phone7筆記 - 2. Silverlight vs XNA 我該使用 ?!

2010/12/23

在Windows Phone 7 開發會面臨兩個抉擇,我該使用XNA 還是得使用Silverlight
這兩個技術都要他優點跟很酷的地方,最後目的都是可以開發出Windows Phone 7 的APP

xna                       microsoft_silverlight

通常我們會使用XNA 來寫遊戲,因為他從底層設計彷彿就是為了遊戲而生。
但是在Silverlight 中他提供一些不是開發遊戲領域的程式設計師一條方便的且快速的作法…
微軟他們當然不會強制一定要用哪一個開發,但是建議按照你要開發APP的調性來選擇…


我在網路上面找到有關於兩者的優點,我就把他翻譯成中文(因為我對XNA比較不熟悉,如果有不好之處請見諒)

XNA Benefits (XNA 優點)


  • Great support for 3D (較良好的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對於基礎的事件處理一般來說會比Silverlight的更好)

  • XNA content pipeline makes handling large stores of content easier (XNA 對於處理pipeline 的運算處理來得更強大也更簡單)

  • More image formats supported (更多圖形支援)

  • Can make game for both Xbox and Phone (讓寫出來的Game 同時支援XBox 平台和Phone 7 平台)

  • Graphics blend modes (Silverlight only has alpha blending) (圖形混和模式,Silverlight 僅支援透明度混合)

  • More GPU acceleration built in (擁有更多的GPU加速器)

  • Lighter memory footprint for bitmap based games  (以Bitmap 為基礎的遊戲記憶體用量會更省)

  • Superior shader support  (更為優越的著色支援)

  • Drawing with a “tint” easier (使用’色相’來繪圖更加地容易)


Silverlight Benefits (Silverlight 優點)

  • Vector graphics (XNA has some very basic line drawing support) (向量繪圖,XNA只有基本的畫線支援)

  • Vector drawing of text (XNA text is bitmap based)(向量著字,XNA 的字是bitmap)

  • Can make game for phone and web (可使開發出來的程式用於網路 以及Phone 7)

  • Storyboard animations (Storyboard 動畫支援)

  • Visual states and behaviors (視覺化的狀態,以及行為,此兩項為Silverlight 有的特性)

  • Navigation framework (如網頁般導覽的架構)

  • Controls (button, listbox, user controls, etc)(許多視覺化的元件 如 按鈕,選單,使用者控制項)

  • Expression Blend design support (強大的視覺工具 Expression Blend 可支援使用)

  • Event based model is more familiar to many developers (以事件為導向,而且是許多開發人員所熟悉的方式)

  • Data binding can come in handy in some scenarios (在某些情形可以使用 DataBinding 解決問題)

  • VisualTreeHelper useful for determining what element is being touched (VisualTreeHelper  對於哪一個元件被觸碰到是非常有幫助的,便於開發製作)

文章參考來源:
http://blogs.silverarcade.com/silverlight-games-101/23/silverlight-xna-or-silverlight-for-windows-phone-7-game-development/

讚一下:


0 意見:

程式 . 生活 . D小調.@2010 | Binary Design: One Winged Angel.