2009-08-05 12 views
5

Ich habe eine komplexe ASP.NET-Seite, die JQuery für DOM-Manipulation (kein AJAX) stark verwendet. Die Seite ist schneller in Mozilla-basierten Browsern (Firefox) im Vergleich zu IE 7 oder 8.Warum ist Jquery in IE langsamer?

Gibt es einige Funktionen, die für FF optimiert sind?

+0

Sie sagten in Ihrer Frage, dass es langsamer ist, also habe ich den Titel bearbeitet, um den Kern Ihrer Frage besser widerzuspiegeln. –

Antwort

8

Die Leistung in dem JavaScript-Verarbeitung Motor ist. Im Gegensatz zur serverseitigen Verarbeitung (PHP, ASP.net) ist Javascript Client-Seite, was bedeutet, dass der Browser Ihres Besuchers alle die Arbeit des Renderns der Seite übernehmen muss. Wettbewerber versuchen, Leute dazu zu bringen, zu ihrem Browser zu wechseln, indem sie schnellere Verarbeitung von Dingen wie Javascript anpreisen.

Dies führt dazu, dass alle Browser ihre eigenen Verarbeitungsmaschinen haben. Was dazu führt, dass manche Browser langsamer sind. IE:

Internet Explorer verwendet nicht die Mozilla Engine, also ist es erheblich langsamer als Firefox. Internet Explorer ist bekannt als einer der langsameren Engines aus allen gängigen Browsern.

Firefox ist langsamer als Chrome, die eine der höchsten Javascript-Engines (eine modifizierte Version von Webkit) enthält.

Safari Ich glaube, ist derzeit die schnellste Rendering-Engine da draußen.

Sie können von PCWorld zu diesem Artikel mehr Statistiken sehen, und here

+2

Safari und Chrome haben dieselbe Rendering-Engine, Webkit. Der Unterschied ist die Javascript-Engines (die sich von Rendering-Engines unterscheiden). – scheibk

7

Nun, die JavaScript-Engine selbst ist in Firefox schneller, also würde sich das natürlich auf jQuery beschleunigen.

 
Web Browser    Average Runtime  Relative 
-----------    ---------------  -------- 
Safari 4.0.2 (530.19.1)  169   1x (fastest) 
Chrome 2.0.172.33    349   2.1x slower 
Firefox 3.5     377   2.2x slower 
Opera 9.64 (10487)    442   2.6x slower 
IE 8.0       771   4.6x slower 

Quelle: http://celtickane.com/labs/web-browser-javascript-benchmark/

3

Es ist nicht, dass die Dinge für FireFox optimiert sind, dann ist es, dass der JavaScript-Interpreter in FireFox ist stark optimiert wie die Motoren in Safari und Chrome. Microsoft hat die Browser-Entwicklung für einige Zeit vernachlässigt, seit es die Browser-Kriege gewonnen hat, und erst vor kurzem haben sie damit begonnen, Performance-Probleme in IE8 zu adressieren, weil sie Marktanteile verloren haben.

Here's how things looked for jQuery on various browsers in Sept. 2008. In der ersten Grafik ist der große blaue Balken, der größer als alle anderen kombiniert, IE7. Das fasst die Javascript-Leistung in IE zusammen.

Verwandte Themen