title: 2D sprite game for WinRT: Should I use Direct2D BitmapSourceEffect or use custom simple shaders to do the rendering?
body: <h2>Context</h2>
  
  <p>I am building this multiplayer D&amp;D encounter tool (in C# for WinRT) which is a simple 2D grid based utility where each player can control their character with the DM being able to control the whole environment as well as mobs etc. I decided to use DirectX (through the <a href="http://sharpdx.org/" rel="nofollow noreferrer">SharpDX</a> wrapper) as opposed to standard XAML elements (which would probably handle this scenario too) mainly to learn DirectX and possibly to achieve better performance on lower spec PCs (not sure how XAML would handle thousands of sprites on the screen).</p>
  
  <h2>Question</h2>
  
  <p>Since I am new to DirectX I was wondering <strong>what is the best* way to draw the sprites</strong> (characters, props, background tiles, etc)?</p>
  
  <p>*By best I mean in terms of performance and GPU memory requirements. My aim is to have this tool to run well even on low spec ARM tablets and I have no idea how demanding each approach is.</p>
  
  <p>Currently I am using the Direct2D <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/hh973240%28v=vs.85%29.aspx" rel="nofollow noreferrer">BitmapSourceEffect</a> and load each sprite batch using the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ee719655%28v=vs.85%29.aspx" rel="nofollow noreferrer">WIC</a> API. Another approach which I also encountered in various DirectX books is described in this SO question: <a href="https://stackoverflow.com/questions/3884885/what-is-the-best-pratice-to-render-sprites-in-directx-11">What is the best pratice[sic] to render sprites in DirectX 11?</a></p>
  
  <p>Using the BitmapSourceEffect seems to be easier but is it the right tool to do the job? I plan to compare the two approaches later today (in terms of FPS, rendering a large number of sprites), but perhaps you guys can provide more insight into this matter. Thanks!</p>