.: Daniel Melanchthon :.

Banging your head against a wall uses 150 Calories an hour.

GPU-powered HTML5 mit Internet Explorer 9, Chrome 7 und Firefox 4

GPU-powered HTML5 mit Internet Explorer 9, Chrome 7 und Firefox 4

  • Comments 17
  • Likes

Nachdem wir in der letzten Woche Internet Explorer 9 als Betaversion vorgestellt haben, drehen sich viele Diskussionen in der Presse und im Netz um die Unterschiede zwischen aktuellen Browserversionen und hierbei natürlich ganz besonders um die Geschwindigkeit bei der Darstellung von HTML5-Webseiten. Microsoft setzt mit Internet Explorer 9 ganz auf den Grafikprozessor (GPU): GPU-powered HTML5 bedeutet die Nutzung moderner Grafikchips (GPU) bei der Berechnung der Darstellung von Internetseiten.

Ted_FullGPU_1Um zu verstehen, wie die Grafikkarte bei der Darstellung helfen kann, muss man sich einmal die verschiedenen Schritte, die ein Browser zum Darstellen einer Internetseite durchführen muss, genauer anschauen. Mein Kollege Ted Johnson, Program Manager Lead for Web Graphics, erklärte in dem Artikel The Architecture of Full Hardware Acceleration of All Web Page Content auf dem englischsprachigen Internet Explorer Blog sehr ausführlich, welche Herausforderungen es dabei zu bewältigen gibt und wie die Architektur von Internet Explorer 9 ganz auf Geschwindigkeit ausgerichtet wurde. So beschleunigt Internet Explorer 9 alle drei Schritte vollständig, die zum Rendern einer Webseite notwendig sind:

  1. Content Rendering über Direct2D und DirectWrite
  2. Page Composition über Direct3D
  3. Desktop Composition über den Desktop Window Manager (DWM)

Im Ergebnis fühlt sich Internet Explorer 9 schon in der Beta rasend schnell beim Seitenaufbau an. Unabhängig davon ob es sich um modernste HTML5-Webseiten handelt oder um Klassiker wie Facebook, Ebay, Heise.de oder Spiegel Online - ich habe immer das Gefühl, als wenn eine Handbremse gelöst worden wäre. IE9 beschleunigt gerade nicht nur speziell auf ihn optimierte Seiten. Je nach Struktur und Inhalt spürt man die hohe Geschwindigkeit auch auf allen bisher existierenden Webseiten.

Aber natürlich schlafen unsere Konkurrenten Marktbegleiter ;-) nicht. Koinzidenz begründet zwar keine Korrelation und ist kein Beweis für Kausalität, aber eine Woche vor dem Veröffentlichungstermin unserer Beta stellte das Mozilla-Team Firefox 4 beta 5 vor, in dem die GPU-beschleunigte Wiedergabe standardmäßig zum ersten Mal aktiviert wurde. Google bloggte wiederum am Vortag unserer Veröffentlichung über den ersten Chrome 7 Canary build, bei dem man die Hardwarebeschleunigung durch Übergabe von Parametern manuell einschalten kann: chrome.exe --enable-webgl --enable-accelerated-compositing --enable-accelerated-2d-canvas.

Damit stehen mittlerweile drei Browser zur Verfügung, die jeweils mit Hardwarebeschleunigung werben. Allerdings ist Hardwarebeschleunigung keine binäre Funktion wie ein Ein-/Ausschalter. Wie effizient sie ist, kommt ganz auf die gewählte Implementierung an. Ich habe daher einmal alle drei Browser verschiedene Aufgaben durchführen lassen, um die Unterschiede zwischen den neuen GPU-beschleunigtem Rendering-Techniken im Vergleich zum früheren Softwarerendering aufzuzeigen. Als Testmaschine nahm ich einen Demolaptop mit Windows 7 64-bit. Die Hardware umfasst eine Intel Core 2 Duo CPU, 8 GB RAM, NVIDIA Quadro FX 570M Grafikkarte und ein Full HD Display. Installiert wurden Internet Explorer 9 Beta, Firefox 4 beta 6 und Google Chrome 7.0.530.0 (canary build).

Alle Browserfenster wurden einheitlich auf eine Größe von 1024x768 Pixel eingestellt. Auf den Bildern kann man sehr schön sehen, wieviel Platz davon eine Webseite tatsächlich einnehmen kann. Internet Explorer 9 bietet mit 1008x700 Pixel die größte Fläche gefolgt von Chrome mit 1008x679 und Firefox mit 1008x646.

Zum Testen verwendete ich natürlich den als Windows 7 Beta Hintergrundbild berühmt gewordenen Betta-Fisch, der ein neues Zuhause als Javascript und HTML Canvas Demo in FishIE Tank gefunden hat. Mit Speed Reading als zweiten Test prüfe ich HTML5 Canvas und HTML5 Audio. Da ich bei der Verwendung dieser Beispiele aber schon kritisiert wurde, dass sie für Unternehmen praxisfern wären, kommt mit WebVizbench als dritter Test eine ausgewachsene HTML5-Webanwendung zum Einsatz. WebVizBench visualisiert mit Hilfe von HTML5 ohne jedes Plug-In historische Playlisten aus einer Dekade des Radiosenders KEXP.org in Seattle. Neben den komfortablen Such- und Steuerungsmöglichkeiten kann man die Anwendung gleichzeitig als HTML5-Benchmark nutzen.

FishIE Tank

fishie-ie9 fishie-chrome fishie-firefox

Bei FishIE Tank erreichen alle Browser in der Standardeinstellung mit 20 Fischen mühelos eine Bildwiederholfrequenz von 60 FPS (englisch für Bilder pro Sekunde). Das ist das Maximum, was der Test erlaubt (Hintergründe dieser Begrenzung sind in Teds oben verlinktem Artikel beschrieben). Auch die Steigerung der Anzahl der Objekte ändert daran erst einmal nichts. Selbst bei 250 Objekten ist der Unterschied in der Bildwiederholfrequenz nur wenige Bilder pro Sekunde.

Ab 500 Objekten wird jedoch die Leistungsfähigkeit des Laptops langsam erreicht. Auf meiner Demohardware gibt bei 1.000 gleichzeitigen Objekten Internet Explorer 9 Beta leicht auf 45 FPS nach, während Google Chrome mit 27 FPS und Firefox mit 11 FPS deutlich langsamer werden.

Speed Reading

speedreading-ie9 speedreading-chrome speedreading-firefox

Speed Reading stellt Text wie die Anzeigetechnik auf Flughäfen und Bahnhöfen im Webbrowser dar. Dabei werden in allen Feldern immer alle Zeichen, Zahlen und Buchstaben rotiert, bis der gewünschte Text angezeigt wird. Im unteren Bereich sieht man aktuelle Daten während des Tests. Gemessen wird in Summe die Zeit, die der Browser zum Anzeigen des gesamten Textes benötigt.

Auch hier sind deutliche Unterschiede zu erkennen. Internet Explorer 9 Beta liegt hier mit 11s vor Google Chrome (28s) und Firefox (540s). Google Chrome fiel mir übrigens mit einer etwas unsauberen Darstellung auf – einige Zeichen wurden zwischendrin nicht ganz bis zum Ende rotiert.

WebVizBench

WebVizBench bietet zum Schluss den meiner Meinung nach bisher praxisrelevantesten Test. Hier kann man sehr schön sehen, was man in einer modernen Webanwendung heute realisieren kann. Die Effekte sind beeindruckend und super flüssig, wenn man sie mit modernen Browsern zu sehen bekommt. Die Auswertung gibt eine durchschnittliche Framerate an und summiert alle Teilergebnisse zu einem Gesamtpunktestand. Diesen Test habe ich in jeweils zweimal durchgeführt, um besonders die Unterschiede zwischen modernem, GPU-beschleunigtem Rendering und klassischem Softwarerendering aufzuzeigen.

Internet Explorer 9 Beta

webwizbench-ie9-hw webvizbench-ie9-sw

IE9 rennt auf meiner Demohardware mit 26,93 FPS allen davon und erzielt dabei 5.660 Punkte. Schaltet man die Hardwarebeschleunigung aus, merkt man den Effekt deutlich: Er fällt auf 7,29 FPS (3.120 Punkte).

Google Chrome 7.0.530.0

webvizbench-chrome-sw webvizbench-chrome-hw

Startet man Chrome mit den entsprechenden Parametern zum Einschalten der Hardwarebeschleunigung, rendert er auf meiner Demohardware nur 10,33 FPS und erzielt dabei 3.380 Punkte. Startet man ihn ganz normal, sieht man mit 10,14 FPS (3.180 Punkte) auch nur einen geringfügig schlechteren Unterschied. Entweder bin ich hier auf einen Bug in Chrome gestoßen oder wir sehen, wie auch mein Kollege Ted Johnson in dem oben verlinkten Artikel annimmt, wie sich die Unterschiede zwischen vollständiger und teilweiser Hardwarebeschleunigung in der Praxis auswirken.

Firefox 4 Beta 6

webvizbench-firefox-sw webvizbench-firefox-hw

Da Firefox keine Wiedergabe von H.264-Videos unterstützt, hatte ich mit deutlichen Vorteilen für Firefox gerechnet. Immerhin muss er im Benchmark einen wichtigen Teil nicht berechnen und sollte dadurch eigentlich einen Vorteil haben. Es kam aber ganz anders. Ich habe den Test mehrfach durchlaufen lassen und bin immer wieder auf das gleiche Ergebnis gekommen: Die bisherige Softwarerenderfunktion ist bei Firefox bisher effektiver. Während mit aktivierter Hardwarebeschleunigung lediglich 0,7 FPS und 2.710 Punkte möglich sind, erzielt Firefox nach dem Deaktivieren 1,5 FPS und 2.780 Punkte. Entweder bin ich hier ebenfalls auf einen Bug gestoßen oder der Overhead bei der teilweisen Optimierung ist möglicherweise zu groß. Joe Drew schrieb zu Mozillas Konzept im May dieses Jahres im Artikel Hardware accelerating Firefox:

“In order to get the sort of benefit that’s possible from GPU acceleration, a lot of analysis of the document needs to be done to identify the parts that need to be separated into their own layers. Some of this is relatively easy, like background images; other parts are much harder. Also, layers is designed to accelerate only portions of the web; this means that, in the common case, we will render most of the web page using software, then do only the hardest/slowest part using the GPU directly.”

Opera und Safari

webvizbench-opera-sw webvizbench-safari-sw

Um das Bild abzurunden, habe ich noch Opera und Safari außer der Reihe getestet. Beide verfügen (bisher?) nicht über Hardwarebeschleunigungsfunktionen und nutzen reine Softwarerenderer. Die Ergebnisse sind ebenfalls interessant: Opera erreicht 10,04 FPS und 3.670 Punkte, wobei hier ebenfalls keine H.264-Videos wiedergegeben werden, was natürlich einen Vorteil darstellt. Safari kommt auf 3,7 FPS und 2.910 Punkte.

Fazit

Die Implementierung von GPU-powered HTML5 ist keine einfache Aufgabe. Die drei meistverbreitesten Browser arbeiten zwar mit Hochdruck an dieser Baustelle, weisen aber derzeit deutliche Unterschiede auf. Microsoft bietet meiner Ansicht nach mit Internet Explorer 9 Beta bisher das überzeugendste Gesamtergebnis.

Comments
  • Nichts zu vergessen, dass "die anderen Browser" auch Windows XP unterstützen - im Gegensatz zum IE9 (wo man sich doch zumindest mit dem "Softwarerendering" behelfen könnte).

  • Auf http://www.html5test.com/ kommt er aber immer noch nicht an die Konkurrenz heran!

  • Weiterhin sollte man beachten das alle anderen Browser auf mehreren Platformen existieren, daher werden diese kaum die Möglichkeit/Zeit haben auf jeder Platform das bestmöglichste herauszukitzeln.

  • HTML5test.com würde ich mit Vorsicht genießen. Das ist kein offizieller Webstandardtest. Da mixed jemand ziemlich viele Technologien in unterschiedlichem Entwicklungsstand unter dem Buzzword HTML5 zusammen. Ich las mal als Kommentar zu HTML5test.com: "Test Of Random Suite Of W3C Working Group Technologies That I Think Are Cool And Have Assigned An Arbitrary Cool Rating (points) To" ;-)

    Scherz beiseite. Diese Seite testet viele Dinge (wie zum Beispiel WebGL, WebSockets, Geolocation, etc.), wohl wissend, dass diese nicht Teil des HTML5-Standards oder noch in experimentellem Zustand sind: "WebGL is also part of this test despite not being developed by the W3C".

    Weiterhin ist die Punktevergabe willkürlich. Beispiel 25 Punkte für Communication - das sind 8,33 für jede Komponente. Bei DOCTYPE wird dagegen nur ein Punkt vergeben. Oder 20 Punkte für Device, welches erst als Editors Draft vorliegt, in dem selbst gewarnt wird: "Implementors should be aware that this specification is not stable." Oder das Audio- und Video-Tag, bei dem die Tests auch wissentlich weiter gehen, als die Spezifikation erfordert und ein bis zwei Bonuspunkte vergeben werden für Implementierungen von Codecs, die gar nicht im Standard vorgesehen sind.

    Auch testet html5test.com nicht die Implementierung der Funktionen: "The HTML5 test score is only an indication of how well your browser supports the upcoming HTML5 standard and related specifications. It does not try to test all of the new features offered by HTML5, nor does it try to test the functionality of each feature it does detect." Gerade hier liegt aber der größte Teil der Arbeit, wie Du zum Beispiel an dem Border Radius Beispiel ie.microsoft.com/.../Default.html (CSS3) oder dem IE Logo ie.microsoft.com/.../Default.html (Canvas) sehen kannst. Hier sehen die Ergebnisse selbst in Browser mit der gleichen Renderengine (Webkit in Chrome und Safari) unterschiedlich aus. Das Ziel von HTML5 ist aber, dass das gleiche Markup in allen Browsern gleich dargestellt wird.

    Meiner Ansicht nach ist es daher sinnvoller, Tests des W3C zu nutzen und die Weiterentwicklung der W3C-Testsuite (siehe dazu zum Beispiel samples.msdn.microsoft.com/ietestcenter) zu fördern, als diesen vorsichtig gesprochen "unausgegorenen" Test als Maßstab heranzuziehen. Ich weiß aber, dass der (absichtlich?) plakativ gewählte Name viele in die Irre führt was die Bewertung der "Testsuite" angeht.

    Und was die Multiplattformunterstützung angeht: Wir konzentrieren uns darauf, das beste Interneterlebnis unter Windows zu liefern. Deshalb setzen wir hier auch auf die dafür am geeignetsten Technologien. Ganz nebenbei: Die Hardwarebeschleunigung von Firefox funktioniert meines Wissens (bisher) auch nur unter Windows. Mozilla setzt da mit Direct2D und DirectWrite auf die gleichen Schnittstellen wie Microsoft.

    VG, Daniel

  • "das beste Interneterlebnis unter Windows zu liefern" kann ich irgendwie nicht mehr lesen, das hat sich in den letzten Jahren deutlich abgenutzt, sorry.

    "Die Hardwarebeschleunigung von Firefox funktioniert meines Wissens (bisher) auch nur unter Windows."

    Ja, aber eben auch unter Windows XP.

  • @ Fabio: damit hast Du sicherlich Recht. Wie Apple aber zurzeit sehr erfolgreich vormacht, scheint es den Kunden mehrheitlich unwichtig zu werden, ein Produkt möglichst plattformunabhängig zu erhalten. Lieber in Fesseln gelegt, dafür aber ein maßgeschneidertes, performantes Produkt - zumindest im privaten Bereich. Das mag man nun gut finden, oder nicht. Dazu kommt ohne Zweifel, dass ein kommerziell ausgerichtetes Unternehmen sicherlich andere Interessen hat, als ein OpenSource-Projekt ;)

    @ Freudi: ACK! Und wenn ich ehrlich bin: ich finde gar nicht schlecht, dass Microsoft langsam aber sicher anfängt, alte Zöpfe abzuschneiden - für ein OS, das mittlerweile knapp 10 Jahre auf dem Buckel hat. Andernfalls haben wir im Unternehmen im Jahre 2020 noch immer XP laufen - warum auch nicht, es läuft doch alles?! Dass ich mit Administrator-Berechtigungen unterwegs bin, weil das Arbeiten mit einem eingeschränkten User-Account unter XP eine Krankheit ist? Egal... lieber spare ich mir das Geld für die neue Lizenz ;)

    Gruß

    Ben

  • @Ben

    Was das Abschneiden alter Zöpfe angeht, bin ich bei Dir. Mir fällt da u.a. dieses mittlerweile auch von "einigen" IE-Entwicklern verfluchte ActiveX-"Konzept" ein, zumindest die Umnöglichkeit, Add-Ons für Sites dauerhauft zu *verbieten* (das Erlauben ist ja möglich, aber nicht der umgekehrte Weg -> Irrsinn). Komm mir jetzt bitte keiner mit "Zone für eingeschränkte Sites" usw.. Usabiliy ist anders.

    Und ja, das Abschneiden alter Zöpfe als Selbstzweck (IOW Marketing) bricht mich an. Es ist ja nicht so, dass unter Windows XP keine Möglichkeit bestünde, eine Hardwareunterstützung zu implementieren, wie "die anderen" Browser-Hersteller demonstrieren. Das "Argument" von MS passt einfach nicht. Würde MS schreiben "wir wollen IE9 unter Windows XP nicht unterstützen, weil wir wollen, dass Leuts unser bestes Windows aller Zeiten [tm] verwenden/anschaffen", dann wäre das wenigstens ehrlich/aufrichtig. Das Anführen von "technischen Gründen" zieht jedenfalls nicht.

  • Hallo Freudi,

    nur damit hier kein falscher Eindruck entsteht: Firefox 4 Beta 6 unterstützt hardwarebeschleunigtes Rendern nur unter Windows Vista und Windows 7 basierend auf Direct2D: "With Firefox 4 getting closer and closer to release, we've introduced a new feature in the Beta: We've enabled hardware acceleration through Direct2D by default for our users using Windows Vista or Windows 7 and having DirectX 10 Compatible hardware." www.basschouten.com/.../firefox-4-beta-bringing-hardware-acceler

    Firefox wird auch nur Compositing acceleration auf XP unterstützen und keine Content acceleration - damit also auch keine volle Hardwarebeschleunigung. hacks.mozilla.org/.../hardware-acceleration Wenn es denn überhaupt zu einem Ergebnis kommt, denn bisher ist für Windows XP nichts aktiv in der Beta.

    VG, Daniel

  • "Firefox wird auch nur Compositing acceleration auf XP unterstützen und keine Content acceleration"

    Von den anderen Vorteilen (HTML5 etc.) *dürfen* auch Windows XP-Nutzer profitieren. MS bevorzugt, dies einer nicht unerheblichen Anzahl vorzuenthalten und sie in die Arme "der anderen" zu treiben. Weiter so!

    P.S.: Die kommetarfunktion hat mal wieder einen Hau und braucht mehrere Anläufe.

  • da es scheinbar bisher keine 'schlagenden' Argumente zum Wechsel von XP auf Win7 gab, werden diese nun scheinbar über den 'Rennbrowser IE9' nachgeliefert. Für mich immer noch kein Grund - bleibt doch Webgl 3D erklärtermaßen aussen vor. Nix mit Quake II im Browser, wie die Demo auf copperlicht mit Chrome zeigt.

    3D Applikationen im Browser benötigen in erster Linie den Performanceschub über die Grafikhardware.

    MS bietet definitiv keine Unterstützung für den freien Standard und versteckt sich hinter vollmundigen Browserbenchmarks.

    Aber was nützt mir ein Rennwagen, wenn er nicht zum Rennen zugelassen ist ?

  • @Koi: Dass IE9 nicht auf XP läuft hat technische Gründe. Windows 7 ist das Betriebssystem, dass sich bisher am schnellsten am Markt durchsetzt. Schneller als alle anderen Windows-Versionen oder auch andere Betriebssysteme davor. Da sind also genügend Gründe für den Umstieg enthalten, da muß nicht IE9 erst herhalten.

    Was Deinen Kommentar zu dem "freien Standard" WebGL angeht: WebGL ist nicht Bestandteil der HTML5-Spezifikation und wird auch nicht vom W3C entwickelt. Das ist eine von einer privaten Organisation entwickelte Technologie, kein offizieller Standard.

    Übrigens profitieren von der GPU-Nutzung alle Webseiten bei Nutzung von IE9. Da muß nichts neu geschrieben oder optimiert werden. Das ist auch der Grund, warum wir diese Technologie so anschieben.

    VG, Daniel

  • Wer die Hardwarebeschleunigung von Firefox für andere Betriebssysteme ("Mozilla plant Hardwarebeschleunigung für Firefox für Mac") als Beispiel gegen Microsofts Entscheidung, nur Windows Vista & Windows 7 zu unterstützen, anführt, sollte bdenken, dass zwar Firefox für die Hardwarebeschleunigung bei der Mac-Version OpenGL als Schnittstelle nutzt. Blöd nur, wenn sich die Ladezeit dadurch nicht drastisch verkürzt, sondern sogar um 10 Prozent erhöht. Ein Besorgnis erregendes Ergebnis für ein Feature, bei dem es um Beschleunigung geht. Sagt ZDNet und das entspricht auch meinen Erfahrungen mit der "Firefox-Hardwarebeschleunigung" unter Windows. Das ist eine Verlangsamung!

    www.zdnet.de/.../digitale_wirtschaft_internet_ebusiness_mozilla_plant_hardwarebeschleunigung_fuer_firefox_fuer_mac_story-39002364-41538515-1.htm

  • In der sogenannten Khronos Group einigten sich Mozilla, Google, Apple und Opera auf WebGL als gemeinsamen 3D Standard.

    Allgemein wird dabei bedauert, dass sich als einziger namhafter Browserhersteller ausgerechnet Microsoft nicht beteiligt hat,

    nachdem Google sogar seine eigenentwickelte O3D Browsertechnologie zugunsten des gemeinsam angestrebten Standards aufgegeben hat.

    Über die Gründe muss man angesichts der bisherigen Firmenstrategie sicherlich nicht lange oraklen.

    Soviel nur am Rande - für mich zählt in diesem Zusammenhang die Verfügbarkeit der

    ! freien ! 3D Schnittstelle in allen anderen Browsern als Entscheidung gegen IE 9

    - egal ob dessen Performance sich allenfalls beim Seitenaufbau speziell dafür geschaffener Internetinhalte und Einsatz dedizierter Umgebung gegen die Konkurrenz behauptet.

  • @Koi: Über Gründe, warum Microsoft WebGL (bisher) nicht implementiert, musst Du nicht lange oraklen. WebGL liegt bisher nur als Working Draft vor. Das ist kein fertiger Standard. Zitat: "This is a working draft document and may be updated, replaced or obsoleted by other documents at any time. Do not cite this document as other than work in progress." cvs.khronos.org/.../WebGL-spec.html

    Es ist nicht sinnvoll, einen noch stark in der Entwicklung befindlichen Entwurf in IE9 zu integrieren. Nachfolgende Veränderungen in der Entwicklung des Entwurfs könnten zu Inkompatibilitäten von IE9 und dadurch wieder zu Fragmentierung im markt führen. Das hatten wir gerade bei früheren Versionen von IE z.B. im Zusammenhang mit CSS erlebt. Deshalb achten wir bei der Entwicklung von IE9 z.B. bei der Implementierung von HTML5-Features sehr genau darauf, wie weit der jeweilige Teil der Spezifikation schon gediehen ist.

    BTW: Die Hardwarebeschleunigung von IE9 setzt keine speziell dafür geschaffene Internetinhalte voraus. Sie beschleunigt den Aufbau und die Darstellung aller Internetseiten.

    VG, Daniel

  • Nun also doch Orakel -

    und urplötzlich wird von Microsofts Seite auf Standards gepocht.

    Einerseits sicherlich eine löbliche Absicht, nur kommt sie nach Rückblick auf die vorhergehenden Versionen des Browsers zu spät,

    um den Frust der durch Missachten derselben entstanden ist mit einer neuen Version adhoc zu beseitigen.

    Dennoch bleibt die Frage offen, warum sich denn definitiv bei der Entwicklung des WebGL Standards rausgehalten wird

    - wahrscheinlich doch um nach großem Einführungsgetöse 'IE 9 als schnellster standardkonforme Browser',

    dann der geköderten Masse die eigenen Standards aufzudrücken.

    Wie dem auch sei - wer 3D OHNE ZUSATZPLUGIN haben möchte ist momentan auf Firefox und Chrome festgelegt.

    (die in den aktuellen Versionen ebenfalls Hardwarebeschleunigung mit unwesentlich anderen Leistungsmerkmalen für 99 % der getesteten Internetseiten bieten)

    Aber vielleicht überlegt sichs MS ja noch mal mit der Integration...

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment