How to prevent views from loading the results upfront
Here is the way to solve your issue:


Add Contextual filter of "Global: Null" type
In "When the filter value is NOT available" section check "Provide default value" and specify "Fixed value" and "all". Notice! If view still display results - then try select "Raw value from URL" here.
In "When the filter value IS available or a default is provided" section check "Specify validation criteria" and select "PHP code"
Specify this code

if (count($view->exposed_input)) { 
  return TRUE; 
}
In "Action to take if filter value does not validate" select "Display all results for the specified field" value
Don't forget to add any "No results behavior"!




Now results will be shown ONLY if filters are sent. View will be empty on       first display.