How can I return a different number of results per page for a view if a user is accessing the site with a mobile device? I have a large number of views that show member profiles.  Right now, I only show 8 members per page, because on a mobile device it takes a very long time to scroll.

However, for the desktop, I could easily show 20 members per page.

Since there are a large number of views, I don't want to do this if I have to duplicate all of them and change the pager settings.  Is there another way to return a different number of results per page if the user is on a mobile device?
You could use Browscap module along with Browscap Block which would add the visibility of blocks depending on device. Next you could add two blocks one for Normal screen and one for mobile devices. 


  Browscap Block
  
  Browscap Block adds visibility options to block configuration settings
  to allow you hide or show blocks in mobile devices.


If you do not want to create multiple views then you could use the browscap function in your template file to detect the browser and then restrict the number of items displayed. The function would be browscap_get_browser() 

This could either be done in hook_views_pre_build function or with in the Style output template file where it loops through the $rows array. you could restrict it the number to 8 depending on the device by exiting the loop once you reach the required count.