Emerald ist endgültig tot

Ab Mittwoch den 8. September 2010, 19:00 Uhr unserer Zeit, wird Linden Lab den Zugriff aller Emerald-Viewer auf das Second Life Grid sperren. Dies war bereits seit einiger Zeit absehbar und ist kein Beinbruch, da für alle Emerald-Liebhaber mit dem Phoenix Viewer ein würdiger Nachfolger bereit steht, der sogar im TPVD gelistet ist.

Linden Lab ließ es sich nicht nehmen, jeden Benutzer davon sogar per Email in Kenntnis zu setzen. Naja, es ist das Ende eines  Projekts, das durchaus seine Spuren hinterlassen hat, aber von Leuten betrieben wurde, die ihrer Verantwortung teilweise nur bedingt dauerhaft gerecht wurden.

Über den Lag, dessen Ursachen und dessen Bekämpfung in Second Life

Die Statistikleiste von Second Life.

Eines der Hauptgesprächsthemen und Hauptärgernisse in Second Life überhaupt ist der mehr oder minder ständig anwesende Lag. Es gibt kaum ein Thema, um das sich so viele Mythen und Legenden ranken wie dieses, wo es selbst technisch versierten Mitmenschen schwer fällt, alleine die Fakten zu betrachten und viele regelmäßig stolz mit ihrem Halbwissen meinen glänzen zu müssen. Also stellen wir uns die scheinbar einfache Frage: was ist Lag genau und was kann man dagegen machen?

Lag wortwörtlich betrachtet

Lag kommt aus dem Englischen und bedeutet wörtlich ins Deutsche übersetzt so viel wie Verzögerung, Rückstand oder Nachhinken. Es geht also darum, dass etwas nicht so schnell verarbeitet wird, wie es verarbeitet werden sollte und sich daher spürbar langsamer als normal anfühlt. Der Begriff „Lag“ kommt dabei ursprünglich aus dem Bereich der Netzwerke und bezeichnet dort eine besonders hohe Latenzzeit, streng genommen kann er auch nur da entstehen. In Second Life wird er aber auch häufig für Effekte gebraucht, für die alleine der Viewer verantwortlich ist. Pedanten klamüsern diese Begrifflichkeiten dann gerne auseinander, im Rahmen dieses Artikels aber verwenden wir der Einfachheit halber und weil es sich bereits so eingebürgert hat den Begriff „Lag“ für Beides.

Lag zuerst rein physikalisch auf der Netzwerkebene betrachtet

Schauen wir uns zuerst einmal die Netzwerkebene und deren physikalische Grundlagen an. Die Physik spielt dabei eine wichtigere Rolle, als man zuerst annehmen mag.

Die wichtigste physikalische Konstante für alle Verbindungen zu Second Life ist dabei die Lichtgeschwindigkeit c, die vereinfacht ausgedrückt bei ca. 300.000 km/s liegt. Angenommen, es sitzt nun jemand in Frankfurt/Main, er baut eine Verbindung zu Second Life auf und landet im Rechenzentrum in San Franzisco. Die Entfernung Luftlinie nach San Francisco beträgt dabei etwa 9140 km, gehen wir mal von 10.000 km aus, da die Kabel sicher länger sein dürften als die reine Luftlinie.

Wie lange braucht es nun, bis eine Eingabe im günstigsten Fall von Hamburg nach San Francisco gelangt ist? Einfach, man rechne: 10.000 km / 300.000 km/s = 0,033 s. So weit der Wert der Theorie, da auf dem Weg noch mehrere Router liegen, die dem Ganzen zusätzliche Latenz hinzufügen, dürfte ein realistischer Wert irgendwo bei 0,04 bis 0,05 Sekunden liegen. Damit ist also die Information angekommen, wird im Simulator verarbeitet und geht danach wieder auf den Rückweg. Das bedeutet, in der Praxis haben wir bestenfalls irgendwelche um die 0,1 Sekunden oder 100 Millisekunden.

Diese Zeit misst man mit Hilfe des Befehles ping. Wenn es auf dem Weg zu Second Life irgendwo im Netzwerk einen Stau geben sollte, dann macht sich das folgerichtig in höheren Zeiten als normalerweise erwartet bemerkbar.

Auftritt: Server Side Lag und Client Side Lag

Soweit der kleine, netzwerktechnische Exkurs und was Lag im eigentlichen Sinne ist. In Second Life selber wird zwischen zwei Arten von Lag unterschieden, nämlich dem

  • Server Side Lag sowie dem
  • Client Side Lag.

Also einerseits der Lag der aus diversen Gründen auf dem Server entsteht und dem Lag, der sich alleine auf dem eigenen Computer bemerkbar macht. Gegen Server Side Lag kann man dabei nur bedingt etwas tun, während man den Client Side Lag natürlich weitgehend in den Griff bekommen kann. Schauen wir uns also mal beide Bereiche genauer an!

Mehr erfahren

Die Hair-Fair und stetig wiederkehrende Lagmythen

Ein Bild von der Hair Fair 2010 inkl. Simstats.

Es ist mal wieder die Zeit des Jahres, in der alle namhaften Designer in Second Life ihre neuesten Haarkreationen auf über vier Sims ausstellen. Das bedeutet auf vier Sims ständig mindestens je Sim 40 Avatare und Laghölle pur. Das ist dabei auch wieder einmal die Zeit des Jahres, in der man sich stark der technischen Grenzen von Second Life bewusst wird und die Mythen von Second Life wiederkehren, wodurch alles Lag entsteht.

Wieder mal typisch dabei ist auch die Bitte, alles Mögliche an Prims und HUDs vom Avatar abzunehmen und nur quasi „nackt“ zu erscheinen. Es zeigt immer noch, dass da viele nicht verstanden haben, was Lag ist und was nicht, wodurch er entsteht und wodurch nicht. Obwohl ich sagen muss, ich war vorhin auf den Sims gewesen, diese sind bereits so weit als möglich optimal gegen Lag gebaut worden.

Auch immer und immer wieder kommen dabei die Leute auf, die geradezu zwanghaft die ARC eines Avatars betrachten und einen dann anpampen, wenn diese in deren Augen viel zu hoch ist. Was soll man denen sagen? Es ihnen jedes Mal erklären, dass die ARC ein Maß für die clientseitige Last der Grafikkarte ist? Meist kommt diese Botschaft bei diesen Leuten erst gar nicht an, ebenso wenig wie die Erkenntnis, dass sie das selber in der Hand haben – kauft euch einfach eine bessere Grafikkarte und fertig, die kosten auch längst nicht mehr die Welt!

Denn was ist der Sinn in einem Modeevent, wenn man da nicht zeigen darf, wie modisch der eigene Avatar aussehen kann?

Aber so gilt: the same procedure as last year? The same procedure as every year!

Rezzen im Phoenix Viewer beschleunigen

Der Phoenix-Viewer nutzt wegen der Auflagen von Linden Lab keine Emkdu.DLL mehr und kommt mit OpenJPEG 1.3.0 als dafür zuständige Bibliothek daher. Das macht sich im Vergleich zum alten Emerald in einem langsameren Rezzen der Texturen bemerkbar.

Nun ist Phoenix dergestalt umgebaut worden, dass er das Rezzen nur noch mittels OpenJPEG vornimmt, auch wenn LLkdu vorliegen sollte, und sonst gar nicht. Das war eine der alten Forderungen von Seiten Linden Labs an die Emerald Entwickler, ich habe es mit allen möglichen LLkdus probiert, es funktioniert nicht.

Nun kann man mit einem kleinen Trick Phoenix dennoch zu schnelleren Rezzingzeiten überreden. Die Version 1.3.0 von OpenJPEG nämlich ist nicht mehr aktuell und Imprudence kommt mit der deutlich schneller arbeitenden Version 1.4.0.565 daher.

Also lädt man unter Windows sich einfach zuerst Imprudence herunter (z.B. die 1.3.0 RC2) und installiert diesen. Aus dem Programmverzeichnis von Imprudence kopiert man dann die Datei OPENJPEG.DLL in das Programmverzeichnis vom Phoenix-Viewer und startet diesen danach.

Wenn alles geklappt hat, dann sieht man im Menü „Hilfe“ unter „Über Phoenix Viewer“ folgendes, wichtig ist dabei der farbig eingekastete Bereich:

In dem muss als Runtime „1.4.0.565“ stehen, damit nutzt nun Phoenix Viewer die neuere Bibliothek und sollte schneller arbeiten.

Und wie der Phönix aus der Asche…

Emerald ist tot, es lebe der Phoenix-Viewer! Das abgespaltene Emerald-Team um Jessica Lyon hat einen eigenen Fork vom alten Emerald unter dem Namen Phoenix Viewer gestartet.

Das Hauptziel des Emerald-Viewers ist die Weiterentwicklung der bereits vorhandenen Codebasis vom alten Emerald unter Einhaltung von hundertprozentiger Transparenz. Jeder Arbeitsschritt soll von außen kontrollierbar sein, es gibt bereits jetzt einen IRC-Channel der Entwickler, ein öffenliches Quellcoderepository, und und und… Zudem hat man bereits die Aufnahme im Third Party Viewer Directory beantragt und rechnet damit, dass dies eine rein Formsache sei, da keine historisch belasteten Entwickler mehr mit an Bord seien.

Unter den Entwicklern ist der bekannte LordGregGreg Back zurück und Kitty Barnett, von der die RLV(a)-Implementierung stammt. Auch ansonsten ist man personell sehr gut bestückt, man darf gespannt sein, welches Leben diesem Projekt in der Zukunft beschert sein wird, es liest sich wie all die guten Sachen von Emerald minus dem unnötigen Drama.

Hoffentlich haben die Entwickler dabei ihre Lektionen gelernt!

Emerald ist tot – lang lebe Emerald!

Der allseits beliebte alternative Second Life Viewer Emerald ist seit heute faktisch tot und die Entwicklermannschaft hat sich endgültig im Streit in zwei Teile aufgelöst.

Jessica Lyons schreibt in ihrem neuen Blog über die Gründe und Hintergründe: seit heute morgen haben nur noch Arabella Steadham und Lonely Bluebird Zugriff auf die Webserver und Webseite.

Die letzten zwei Forderungen von Seiten Linden Labs an die Entwickler, damit Emerald weiterhin als Viewer erlaubt bleibt, waren dabei folgende:

  • Emerald darf nicht mehr Emkdu und/oder LLkdu unterstützen, selbst wenn jemand per Hand diese Dateien in das Programmverzeichnis reinkopiert. Als Deadline dafür wurde der 3. September gesetzt und
  • es wurde verlange, dass Skills Hak, Discrete Dreamscape und Lonely Bluebird aus dem Entwicklerteam ausscheiden. Skills und Discrete kamen dieser Forderung nach, Lonely aber weigerte sich.

Die Folge, wenn die Entwickler dem nicht nachkämen, wäre das Blockieren des Zugriffs von Emerald auf das Second Life Grid und so wird es wohl bald geschehen. Da Lonely Bluebird den Zugriff auf die Entwicklungsserver für den Rest des Teams sperrte, können diese nicht mehr bis zur Deadline den Forderungen Linden Labs nachkommen.

Mehr noch, Fractured Crystal will Emerald als Warenzeichen eintragen lassen, so dass das bisherige Team nicht mehr den alten Namen gebrauchen kann.

Deshalb trat Jessica Lyon aus dem Emeraldprojekt aus. Die Entwickler um sie herum denken darüber nach, auf Basis des alten Emeralds ein neues Projekt zu starten, um dort weiter zu machen, wo Emerald nun aufgehört hat.

Auf der offiziellen Seite von Emerald wiederum schreibt Arabella Steadham, dass Linden Lab seine Forderungen dergestalt gestellt hätte, dass sie diesen einfach nicht nachkommen könnte. Während die Sache mit Llkdu und Emkdu machbar gewesen wäre, hätte die Forderung nach dem Ausscheiden der drei Hauptentwickler dem Projekt das Genick gebrochen.

Es wird keine weiteren Versionen nach heute mehr von Emerald geben. Die bisherigen Versionen werden noch solange funktionieren solange Linden Lab den Zugriff nicht ein für allemal blockiert.

Es wird eine letzte Version von Emerald heute geben, die all die Änderungen enthält, in denen se die letzten sechs Monate gearbeitet hätte. Es wäre eine Schande, wenn dies verloren ginge.

Mein Fazit: Emerald ist damit als Viewer endgültig tot, die Wahrscheinlichkeit eines Forks aber doch stark gegeben. Sollte dies tatsächlich um ein seriöser arbeitendes Entwicklerteam geschehen, dann hätte dieser Viewer gute Chancen Emerald zu beerben.

Imprudence Viewer Voice Howto auf Deutsch

Worum geht es?

Der alternative Second Life Viewer Imprudence kommt aus Lizenzgründen bis Version 1.3.0 RC1  nicht mit den benötigten Programmbibliotheken der Firma Vivox daher, die zum Betrieb von Voice in Second Life benötigt werden. Viele aber können und wollen auf Voice in SL nicht verzichten und es ist mit ein wenig Handarbeit möglich, mit Imprudence als Viewer auch Voice wie gehabt benutzen zu können.

Dieses Howto beschreibt deren nachträgliche Installation von Voice unter Windows, da der Installer von Imprudence diese Handgriffe bis zurVersion 1.3.0 RC1 nicht vornimmt; ab Version 1.3.0 RC2 ist das im Installer eingebaut!

Voraussetzungen

Zur Installation der Dateien wird ein Archiventpacker benötigt, der mit .tar.bz2 zurecht kommen kann. 7zip kann das, wer daher nicht sicher ist, bitte zuerst diese Freeware installieren, WinRAR kann es auch.

Und los geht es!

Imprudence ist installiert, 7zip oder ein Entpacker mit vergleichbarer Funktionalität ebenfalls? Gut! Als erstes müssen per Hand die Programmteile für Voice aus dem Internet heruntergeladen werden.

Für Imprudence 1.2.x lädt man sich diese Datei herunter und für Imprudence 1.3.x diese. Danach öffnet man die Datei mit dem Entpacker, bei 7zip braucht dies zweimal, da die Datei doppelt gepackt ist.

Im Verzeichnis indra/newview/vivox-runtime/i686-win32/ des Archives dann sind die benötigten Dateien. Aus diesem Ordner kopiert/extrahiert man die folgenden Dateien, und nur wirklich diese, in den Installationsordner von Imprudence:

  • ortp.dll
  • SLVoice.exe
  • vivoxsdk.dll
  • wrap_oal.dll

Dann startet man noch Voice in den Einstellungen neu, ein Relogin ist dazu unnötig und Imprudence sollte sich nun wie gewohnt mit Voice betreiben lassen. Herzlichen Glückwunsch!

Disclaimer

Für Fehler keine Gewähr sowie für durch Fehler und/oder durch Fehlbedienung entstandene Fehler keine Haftung. Diese Anleitung wurde nach bestem Wissen und Gewissen erstellt, aber auch hier gilt nach wie vor: Hirn einschalten und wenn man sich nicht sicher ist, was man tut, lieber die Finger davon lassen und sich jemanden holen, der sich damit auskennt.

Überdies: kein in world Support jedweder Art.

Form follows function oder: Bad Sim Design at its best

Gestern gab es einen Testraid auf die Sim Stones of Silver, nachdem es eine Woche zuvor einen Testraid von denen auf uns gegeben hatte. Stones of Silver ist eigentlich ein Miniverbund aus zwei Sims, die ungefähr rollenspieltechnisch dort weitermachen, wo das alte Aretai unter Chira Mills aufgehört hatte. Außerdem wohnen da inzwischen die meisten Personen dieses alten Aretais. Dementsprechend und schon dank des Namens gut ersichtbar handelt es sich dabei um eine Wüstensim und man weiß in etwa, was einen dort erwartet.

Stones of Silver ist ein Paradebeispiel außerordentlich geschmackvoll schlechten Simdesigns, eines übertriebenen Sicherheitsbedürfnisses und eines für den Gegner absolut unfairen sowie für die Bewohner hässlichen Simdesigns. Aber was ist da los? Da ein Bild mehr als tausend Worte sagt, werfen wir doch einen Blick auf die Karte, denn das schmerzt mal so richtig schön:

Das ganze Design hier ist ein gellend lauter Schrei: "Raide mich ja nicht!"

Rumms, wer sich nur ein wenig mit Sims und deren Gestaltung auskennt, der wird um diese Sim kämpferisch einen weiten Bogen machen wollen, und das aus mehreren Gründen. Der Einfachheit halber habe ich die wichtigsten Standorte nummeriert. Das Motto der Simgestaltung war sicher „Wie baue ich die ultimative Festung“ gewesen, und genau so verkorkst sieht das alles auch aus.

Nun die Kritikpunkte:

  • Es handelt sich hier um einen kleinen Verbund von zwei Sims, Silver Desert und Stones of Silver. Silver Desert ist dabei eine Homesteadsim, d.h. das Avatarmaximum ist 20, während Stones of Silver eine Fullprimsim ist. Die gelb eingezeichnete Linie kennzeichnet dabei die Simgrenze.
  • Wer sich nach Stones of Silver begeben will, der muss nach den Regeln zuerst auf Silver Desert landen. Landepunkt ist die 1 dabei, eine kleine Insel, die mit einem langen Steg zum Festland verbunden ist. Wer nun dort einen Raid anfangen will, der muss entweder im Entengang über die Brücke oder schwimmt durch den recht tiefen See an Land, sofern da nicht irgendwelche Kampffische drin schwimmen.
  • Die Verteidigungswälle sind die Positionen 5 und 6 und bestehen aus Terrain, also Erdhügeln. Das reduziert die Möglichkeit eines Splashschaden deutlich und da sich der Wall über die ganze Simbreite hinzieht, können sich die Verteidiger sehr gut darüber verteilen. Da es keine Vegetation gibt, haben sie zudem über beide Sims freies Schussfeld.
  • Der Schutzgraben zu den Mauern ist mindestens 20m breit und entsprechend tief, hinter den Mauern gibt es bewusst keine zu hohen Gebäude als Angriffsmöglichkeit für Enterhaken, an den Mauern sind noch überall Spikes befestigt und über dem Stadttor netterweise ständig Baumstämme, die man mit Schaden auf den Gegner krachen lassen kann.
  • Spätestens wenn der Tross dann an Position 2 angelangt sein sollte, wird er bereits von den Verteidigern auf ihren Wällen aus der anderen Sim heraus massiv unter Beschuss genommen. Wer sich dabei die Entfernungen auf der Karte anschaut, dem wird dabei auch eines klar: diese Leute zoomen wie die Weltmeister und wegen der Simgrenze in der Mitte funktioniert der Beschuss auf die andere Seite auch nicht immer zuverlässig, aber das gilt dann ja für beide Seiten gleich.
  • Einzig das Gebäude an Position 3 bietet ein wenig Schutz, aber auch nur solange man nicht zu sehr aus der Deckung rausgeht und von Position 6 unter Beschuss genommen wird.
  • Wer wirklich zuverlässig kämpfen will, der muss sich zu Position 4 begeben und unterliegt dann ständig dem Kreuzfeuer. Dazu kommt dann noch die Nähe zur verfluchten Simgrenze, so dass man häufiger ungewollt immer mal wieder mit den üblichen Verzögerungen die Sims wechselt, was dem Kampf auch nicht gut tut.

Was soll man also von so etwas halten? Gar nichts! Diese Festung zu knacken ist mit großem Aufwand zwar möglich, aber dafür bedarf es wirklich einer erheblichen Übermacht auf Seiten der Angreifer, und sollte jemals wer in die Festung während des Kampfes begeben, ist das sicherlich auch eine Sache, mit der sie nicht rechnen.

So aber sind diese Sims das Ergebnis eines extrem übersteigerten Sicherheitsbedürfnisses, man sieht hier „Form follows function“ nur zu überdeutlich umgesetzt und die Leute sollten sich mal wirklich ernsthaft überlegen, warum sie auf Gor unterwegs sind, wenn sie da solch einen Mist hinstellen, der nur „Geh weg!“ aussendet. Zum kontroversen Zusammenspiel gehört eben auch, dass man sich nicht zu sehr in seine Bauten einigelt, sondern potentiellen Gegnern auch durch das Simdesign eine faire Chance gibt, dass er im Fall eines Kampfes Erfolg haben kann. Das ist hier aber absolut nicht gegeben und wer SoS angreift, der ist selber schuld.

Alles in allem sind sie da auch nicht besser als die schutzsüchtigen Piraten, die es mal auf Lydius gab, das ist genau dasselbe Mindset nur in viel größerer Dimension perfektioniert!

Llkdu, Emkdu und OpenJPEG oder: was ist was und wozu braucht man es?

In allen Diskussionen um den Emerald-Client wird auch immer wieder über die Emkdu.dll diskutiert, viele wissen nicht wirklich, wozu diese gebraucht wird noch was sich hinter diesen verschiedenen Begrifflichkeiten wie OpenJPEG und Llkdu verbirgt. Ich will hier einmal das Knäuel ein wenig aufdröseln.

Die Basis von allem: JPEG2000.

Second Life basiert auf 3D-Objekten, die mit Texturen beliebigen Inhalts überzogen werden können. Da diese Texturen viel Bandbreite bei der Übertragung und auf Seiten Linden Labs dauerhaft Speicherplatz benötigen, war beim Design von Second Life eines der Ziele gewesen, einen Standard zu wählen, der möglichst viel Information bei möglichst wenig Speicherbedarf abbilden kann.

Man kennt diese Problematik bereits aus dem WWW, dort ist JPEG das verbreitetste Kodierungsverfahren für Bilder aller Art. Wichtig dabei ist, dass JPEG Bilder verlustbehaftet komprimiert, das bedeutet, es gehen je nach Qualität mehr oder weniger gut sichtbar Informationen verloren. JPEG basiert dabei auf verschiedenen Kodierungsschritten, wobei das Herz ein aus der Mathematik bekanntes Verfahren namens diskrete Cosinus-Transformation darstellt

Nun entstand JPEG aber im Jahr 1992 und seitdem blieb die Welt nicht stehen, im Laufe der Zeit entstanden bessere Verfahren als dieses. Bei der Konzeptionierung von Second Life entschied man sich für JPEG2000 als den Standard aller Bilder. JPEG2000 ist jünger als JPEG, damit technisch weiter und komprimiert Bilder besser. JPEG2000 ist rechenintensiver im Vergleich zu JPEG und basiert auf dem Verfahren der diskreten Wavelet-Transformation, zudem ist es teilweise von Softwarepatenten geschützt.

Kurz: alle Bilder, die wir in Second Life sehen, basieren auf dem Bildstandard JPEG2000. Da dieser sich bisher bis auf einige Nischenbereiche kaum durchgesetzt hat, muss der Viewer die benötigten Grundfunktionen zum De- und Kodieren dieses Standards selber mitbringen. Dies geschieht mit Hilfe einer Programmbibliothek, die die dazu benötiigten Funktionen bereitstellt.

Auftritt: OpenJPEG!

OpenJPEG ist eine Opensource-Implementierung des JPEG2000-Standards, die unter der BSD-Lizenz steht. OpenJPEG ist dabei solide programmiert, aber was die Kodierungs- und Dekodierungsgeschwindigkeit anbelangt die langsamste Variante. Dafür ist die Benutzung von OpenJPEG kostenlos und damit ist es die Standardbibliothek aller alternativen Viewer, die diese zur Darstellung von Texturen benutzen. Der Vollständigkeit halber sei erwähnt, dass es mit JasPer noch eine weitere OSS-Implementierung des Standards gibt, die im Viewer aber nie Verwendung fand.

Schneller: LLkdu!

Die industriell genutzte Standardimplementierung in C++ von JPEG2000 stammt aus dem wenig bekannten Softwarehaus Kakadu Software. Der Autor ist dabei einer der Urheber dieses Standards. KDU im Dateinamen ist dabei nichts anderes als die Abkürzung für „Kakadu“ und LL steht für Linden Lab.

Diese Implementierung des JPEG2000-Standards ist dabei um Längen schneller arbeitend als OpenJPEG, dafür aber kein Opensource und zum Einsatz in Software ist eine saftige Lizenzgebühr fällig. Linden Lab liefert seinen Viewer standardmäßig mit Kakadu als Bibliothek aus, und das Ergebnis macht sich in spürbar schnelleren Ladezeiten der Texturen bemerkbar.

Noch schneller: Emkdu!

Einer der Entwickler von Emerald, Phox Modularsystems, lizenzierte bei Kakadu ebenfalls deren Bibliothek in einer neueren Variante als Linden Lab das tat und baute darum seine eigene Variante namens Emkdu.dll. Die Lizenz zur nicht kommerziellen Nutzung der Bibliothek kostet dabei im Jahr 250 US$, und es machte sich in einer nochmals leicht schnelleren Geschwindigkeit beim Laden der Texturen bemerkbar.

Er baute in die Bibliothek dann auch eine Funktion ein, die den Dateipfad samt Windows-Titel vom Emerald-Viewer in den Metadaten der Avatartextur versteckten, das ist inzwischen nicht mehr der Fall, aber war auch der Anstoß für viel Kritik.

Fazit

Emerald funktioniert bisher mit Emkdu, Llkdu und OpenJPEG, ansonsten jeder Viewer zumindest mit Llkdu oder OpenJPEG. Die Bibliotheken sind dabei beliebig austauschbar; wer z.B. im Verzeichnis von Emerald die emkdu.dll löscht und den Viewer neu startet, dann nutzt der die noch vorhandene openjpeg.dll und gut ist es.

Wer wirklich auf der sicheren Seite sein will, der sollte momentan nur OpenJPEG oder LLkdu nutzen bis die Turbulenzen um Emerald geklärt sind.