title: I need some explain on Rx behavior
body: <p>When I use Reactive Extensions (Rx) with linq filter what happen under the hood?</p>
  
  <p>Is this,</p>
  
  <pre><code>var move = Observable.FromEventPattern&lt;MouseEventArgs&gt;(frm, "MouseMove");
  IObservable&lt;System.Drawing.Point&gt; points = from evt in move
                                             select evt.EventArgs.Location;
  var overfirstbisector = from pos in points
                          where pos.X == pos.Y 
                          select pos;
  var movesub = overfirstbisector.Subscribe(pos =&gt; Console.WriteLine("mouse at " + pos));
  </code></pre>
  
  <p>more efficient from this?</p>
  
  <pre><code>private void MouseMove(object sender, EventArgs args)
  {
    if (args.Location.X == args.LocationY)
      Console.WriteLine("mouse at " + args.Location);
  }
  </code></pre>
  
  <p>I dont talk about the filtering logic itself but about the events behavior of the methods.
  In Rx do the event raised exactly the same way of the regular event but with warapper or there is somthing special under the hood?</p>