title: MVC 4 website very slow on iPad
body: <p>I have developed a point of sale system using MVC 4.The responsiveness and loading times on Windows and Mac is instant but on an iPad it takes 8-13 seconds to load a page or perform an action such as adding items to basket. To improve the speed of the web application I enabled compression in IIS and minified all my java script files I also used bundling to bundle the following .js files together which supposedly improves loading of pages as well:</p>
  
  <ol>
  <li>jquery-1.8.2.min.js</li>
  <li>knockout-2.2.0.js</li>
  <li>jquery.easing.1.3.js</li>
  <li>b.popup.min.js(used for displaying a modal popup only 6KB)</li>
  </ol>
  
  <p>The other javascript files I use on pages are between 5KB and 15KB.After doing all this the application seems to be a few seconds quicker, but still takes unacceptably long(8-10 seconds).</p>
  
  <p>Has anyone experienced similar performance issues on an iPad and how did you resolve it?Is there anything else I can do to improve performance?</p>
  
  <p>I'm using Windows Server 2003 and IIS 6.0</p>
  
  <p><strong>Here's my bundle registration code:</strong></p>
  
  <pre><code>public static void RegisterBundles(BundleCollection bundles)
  {
      bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
          "~/Scripts/jquery-1.8.2.min.js",
          "~/Scripts/jquery.easing.1.3.js",
          "~/Scripts/knockout-2.2.0.js",
          "~/Scripts/common/common.min.js",
          "~/Scripts/popup.min.js"
          ));
  
      bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
      BundleTable.EnableOptimizations = true;
  }
  </code></pre>
  
  <p><strong>And this is where I call it on the master page:</strong></p>
  
  <pre><code>@using System.Configuration
  &lt;!DOCTYPE html&gt;
  &lt;html&gt;
  &lt;head&gt;
      &lt;meta charset="utf-8" /&gt;
      &lt;meta name="viewport" content="width=device-width" /&gt;
      &lt;meta name="apple-mobile-web-app-capable" content="yes"&gt;
      &lt;title&gt;Prestige SSC&lt;/title&gt;
      @Scripts.Render("~/bundles/jquery")
      @RenderSection("scripts", required: false)
      @Styles.Render("~/Content/css")   
      &lt;script type="text/javascript"&gt;
          var screenRefreshTime = '@ConfigurationManager.AppSettings["ScreenRefreshTime"].ToString()';
          screenRefreshTime = parseInt(screenRefreshTime);
      &lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
      @RenderBody()
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>