So this is a bit of a strange problem, and I'm really looking for the best methods and possible solutions here.
Background:
I am working on a very significant enterprise application. This is a one-page application, and in addition to the initial loading, the application does not have full page loading. Almost all service transactions return JSON.
The application creates large data sets, some of which may exceed 1 to 2 MB of uncompressed. This is clearly undesirable, but given the complexity of our application and what it does, it is also not something that we can easily change in a significant way. Thus, we turned on dynamic compression in IIS for JSON and XML, which actually knocks us down to 47K in a JSON packet package without 500K packaging.
(Getting IIS for dynamically compressing JSON and XML was generally a bit of a hassle, so if anyone needs any advice, Iām happy to help.)
Problem Status:
We are pleased that the size of our datasets has been reduced, but we noted that IE11 seems to do pretty poorly with the compressed data that returns to the AJAX response object. Basically, what happens is that there is a noticeable stop in the user interface layer, while IE decompresses the GZipped data returned by an AJAX request. This is not significant (1.5 seconds), but it is quite noticeable. No other browsers that we tested suffer from this; Chrome, Safari, FireFox, Opera ... all unpack and process the compressed data without a visible pause in the user interface. Thus, this is apparently one of IE's charming eccentrics.
Attempted Solution:
We tried to reduce this by optimizing the size of objects, as well as by adjusting the compression level. Of these, reducing the initial size of the object is the only thing that successfully reduced rendering delay; the compression level seems to be little or nothing. But, as I said, we have reached the outer limits of what we can do to optimize our data sizes.
What I need:
Ideally, someone there has encountered the same problem and can offer suggestions on how we can get around this problem with IE11. Alternatively, I would be delighted if someone could talk about what distinguishes us from how IE handles gZipped responses and why this difference boils down to completely stopping anything that happens in the browser user interface.
I am far from being an IIS expert, so speak your words slowly and use small words; -)