Programming

Vorgeschmack auf Firestorm

Die Macher vom Phoenix Viewer um Jessica Lyon geben in diesem interessanten Video auf Englisch einen kleinen Einblick, wie deren Next Generation Viewer Firestorm aussehen wird. Das ist noch Pre Alpha und basiert auf dem Quellcode des Viewers 2.x, zeigt aber schon deutlich wohin die Reise gehen wird.

Vor allem sind schon jetzt so ziemlich alle Aufreger des Viewers entweder abgeschafft oder konfigurierbar, kurz man kann sich das Teil ziemlich gut so gestalten, wie man es selber haben mag.

Kurz gesagt: das sieht nach dem Viewer aus, den Linden Lab besser vor einem Jahr veröffentlicht hätte, dann hätte es diesen Aufschrei des Entsetzens nie gegeben und das Video macht doch Appetit auf mehr, oder?

8MInIyHH0mU

Die Fragmentierung von Opensimulator

Opensimulator ist fraglos eine interessante Sache mit ungeheuer viel Potential. Opensimulator versteht sich dabei als ein Framework für 3D-Welten, also ein Baukasten, den man nach Belieben benutzen, ändern und erweitern kann.

Nun ist es so, dass Second-Life-Benutzer ja gewisse Erwartungen haben, was eine Sim so können soll. Profiltexte, Gruppen, Voice, Währung, Suche, all das sind Sachen, die in Opensimulator meistens out of the box nicht funktionieren. Macht ja nichts, denn es gibt ja wie unter Linux verschiedene Distributionen von Opensimulator, das bedeutet Pakete, die mit mehr oder minder sinnvollen Voreinstellungen und einer sinnvollen Modulauswahl glänzen wollen.

Der Status von Opensimulator als Alpha-Software und Framework bedeutet aber auch, dass es für eine Funktion meistens mehrere Module gibt, zwischen denen man wählen kann. Diese liefern alle dem Viewer mehr oder minder dieselbe Sache, wie z.B. Gruppen, funktionieren aber intern total unterschiedlich und sind daher später mal auch nur schlecht austauschbar. Dazu kommt, dass manche Module wie z.B. für Gruppen als Abhängigkeit auch noch einen Webserver mit PHP haben, was die Sache nicht gerade besser macht.

Eigentlich sollte ein Modul für solch eine Sache wie Opensimulator möglichst wenig Abhängigkeiten haben. Aber manche interessiert das bei der Programmierung ja nicht wirklich und man braucht einen wahren Rattenschwanz an Software, den man installieren muss, nur damit das Schrotteil dann auch noch funktioniert.

Besser wäre es wirklich, Opensimulator würde für die wichtigsten Sachen noch Standardmodule out of the box mitliefern, die nur auf Mono basieren, gut dokumentiert sind und bei Bedarf erweitert werden könnten. Dies würde demjenigen, der es installiert, viel Arbeit, Ärger und Zeit ersparen. Wer dann ein anderes Modul vorzieht, kann es ja immer noch dann händisch installieren und gut ist es.

So aber läuft Opensimulator Gefahr, ähnlich wie Linux selber stark zu fragmentieren und damit viel Energie in unnötige Reibungsverluste zu verpulvern.

Über die Defragmentierung von Festplatten

Fast jeder Windowsbenutzer hat es schon einmal gehört: an solle im Laufe der Zeit ab und an seine Festplatte defragmentieren, dies würde die Systemleistung erhöhen und auch dem Cache zugute kommen. Ebenfalls, als weiterer Tipp wird oft empfohlen, den Viewercache auf einer anderen Festplatte (nicht Partition!) als das Systemlaufwerk anzulegen, um zusätzliche Leistungssteigerungen zu erreichen.

Manche löschen sogar ihren Cache vor jedem Start, weil sie meinen, dies würde dem Viewer gut tun, aber natürlich muss so jedes Mal alles (Inventar/Texturen) über das Internet neu auf den heimischen Rechner geholt werden. . Die Frage bei all dem ist aber: wo liegt denn genau die Wahrheit? Die Antwort darauf ist, wie immer, kompliziert.

Die Grundlage der Speicherung: meine Festplatte, das unbekannte Wesen

Als Festplatte bezeichnet man eine oder mehrere sich extrem schnell mit einer magnetisierbaren Schicht überzogenen Scheiben, die von einem mittels Stellmotor betriebenen, auf einem Luftkissen dahingleitenden Schreib-Lese-Kopf beschrieben oder gelesen werden. Wichtig dabei ist, dass diese mechanische Vorrichtung pro Sekunde nur eine gewisse Anzahl an Sprüngen zulässt. Dies ist der wichtigste, limitierende Faktor dabei, nämlich die Anzahl der Suchläufe (Seeks) pro Sekunde, auch gerne Input Output Operations per Second (IOPS) genannt.

Die Entwicklung der letzten Jahre ist dabei (wie hier bei Microsoft in der ersten Grafik gut zu sehen) drastisch gewesen: während die Prozessoren immer schneller und schneller geworden sind, dümpelt die klassische Festplatte weiterhin bei ca. 250 IOPS herum. Die Grafik ist dabei nicht ganz sauber, zeigt aber eines: die Festplatte hinkt heute gehörig der Prozessorentwicklung hinterher, dafür bieten sie inzwischen nie geahnte Speichermöglichkeiten.

Was genau ist Fragmentierung?

Fragmentierung tritt meistens bei größeren Dateien auf. Der Idealfall einer geschriebenen Datei auf der Festplatte ist nämlich, dass diese an einem Stück geschrieben werden kann. Nur so kann die Festplatte ihre theoritische Maximalgeschwindigkeit auch in der Praxis erreichen. Fragmentierung bedeutet aber, dass die Datei in verschiedenen Bereichen der Festplatte geschrieben worden ist, es also dazwischen Sprünge gibt, die für zusätzliche Seeks des Schreib-Lese-Kopfs sorgen und somit die Gesamtleisung herabsetzen. Mehr erfahren

Kleine Bloglese

Und mal wieder eine kleine Bloglese:

  • Es gibt eine neue, offizielle Version namens 1.5.2.725 vom Phoenix Viewer, darauf haben sicher viele sehnsüchtigst gewartet. Es handelt sich dabei um einen Release Candidate, das bedeutet eine Version, die noch durchaus einige Fehler enthalten kann, und erst nach einigen Tests zur nächsten Standardversion werden wird. Wer also lieber auf der sicheren Seite lebt, der sollte sich diese Version schenken. Wer es nicht mehr erwarten kann, der kann sie testen, muss aber u.U. noch Fehler in Kauf nehmen. Eure Wahl.
    Die Liste der Änderungen dabei ist lang, man hat u.a. das alte Multi-Attachment-System vom Emerald begraben (alte Attachments der Art werden automatisch nach Dialog ins neue System umgewandelt), man unterstützt die Anzeige von Display Names, es gibt auch endlich Unterstützung für Inventory Links (also noch schneller und komfortabler Umziehen, denn jetzt kann endlich auch alles no copy zu einem Outfit werden), und und und… die Downloads sind gerade entsprechend lahm, also saugt die Fanbase ihn inzwischen weltmeisterlich herunter. Das Release dürfte in Kürze folgen.
  • Die Kajira Bo aus Lydius (nicht zu verwechseln mit dem gleichnamigen Commander aus Belnend) wagte den Selbstversuch und spielte mit einem wohl bis dato unbekannten Alt eine freie Frau zu Besuch in Port Lydius und Lydius Wood. Das Ergebnis dabei ist vernichtend, das neue Dorf auf Lydius Wood empfand sie als Zeitverschwendung und in Lydius selber fühlte sie sich übertriebenem Misstrauen und goreanischen Superhelden ausgesetzt, auch gefallen ihr Zastas Kommentare in dessem Blog dazu nicht wirklich.
    Das ist schon etwas komisch, übertriebenem Misstrauen selber war ich in Lydius nicht mal ausgesetzt gewesen, als ich als Männeravatar verkleidet in Frauenklamotten dorf rumlief. Im Gegenteil, ich wurde sofort dem Administrator damals als mögliche, zukünftige Verlobte vorgestellt und wir unterhielten uns im Teehaus, wieso sollte man auf eine normale, freie Frau so wie bei Bo beschrieben reagieren? Oder werden hier Ausnehmen zur Regel und Regeln zur Ausnahme? Ich habe keinerlei Ahnung, vielleicht hat sie da auch einfach nur einen schlechten Tag erwischt gehabt.
  • Belnend feiert nach wie vor dreijähriges Jubiläum und lässt die Sau raus, prima, heute mal wieder mit mir als FCMinator. Ich kann all meine „zelebrierten“ Gefährtenschaften schon lange nicht mehr an zwei Händen abzählen.
  • Ansonsten sinniert Stiller Himmel momentan angeregt über die möglichen Menstruationsprobleme von Rollenspielern und erklärt uns, welche Haare von Truth und Skintypen mit Fischmündern er einfach nur eklig findet. Bei dem Bild, was er für gut erachtet, fiel mir sofort ein röhrender Hirsch ein. Daher extra für Stiller hier mal ein Hirsch als Geschenk, bitte sehr, einfach in der Bildverarbeitung verfremden, ausdrucken und daran Freude haben! 😀

    Ein röhrender Hirsch in freier Wildbahn.

Warten auf Godot

So schlimm ist es zwar nicht, aber die Leute denken mal wieder zu wenig nach und es gehen zu viele komische Gerüchte. Beim Gorean Meter Version 4.0 jedenfalls ist es so, dass dieser inzwischen 6 Wochen in der Tradition großer Softwarehäuser nicht unähnlich dem angekündigten Termin hinterherhinkt. Wann er also kommen wird muss sich zeigen, vermutlich gilt hier ähnlich wie bei Duke Nukem Forever der Spruch „It is done when it is done.“

GM 4.0 Ankündigung.

Phoenix Viewer, Attachment Points und der Rest

Es ist soweit: keiner der ehemaligen Emerald-Fanboys scheint ihm noch groß nachzuweinen. Knapp zwei Monate, nachdem Linden Lab für den Emerald-Viewer endgültig den Stecker zog kann sich der Phoenix Viewer mit Fug und Recht als der legitime Nachfolger Emeralds bezeichnen was die Beliebtheit und Verbreitung angeht. Bisher sind auch aus dem Maschinenraum der Phoenix-Entwickler keine schlimmen Geschichten bekannt, hoffen wir mal, dass es dabei bleibt.

Eine Sache hat Phoenix von Emerald mit übernommen: die doppelten Attachmentpunkte. In der Zwischenzeit brachte Linden Lab seine eigene Implementierung dieses Features heraus, die natürlich zu Emerald inkompatibel ist, nur um sie stillschweigend im Viewer 2.3 wieder auszubauen. Bummer.

Also greifen nach wie vor alle möglichen Fashionistas und Rollenspieler, denen es am Avatar zu wenig Attachmentpunkte gibt, nur zu gerne zu Phoenix. Nur: was im Phoenixviewer korrekt aussieht, sieht für den Rest der Welt einfach nur komisch aus, die Objekte stehen einfach irgendwie in der Luft und sehen seltsam aus. Das ist eine Sache, die man daher in Rollenspielgebieten tunlichst vermeiden sollte, wenn man nicht schief angesehen werden will, schließlich kann man es nicht verlangen, dass der Gegenüber irgendwelche seltsamen Handgriffe an seinem Viewer vornimmt, nur damit er den eigenen Avatar endlich richtig sieht oder gar Phoenix installieren muss. Nene, das kann es nicht sein.

Wer zu seinen Mitspielern nett ist, der verzichtet freiwillig auf den Schnickschnack und gut ist es.

Phoenix Viewer Changeset 3de7c9b5acf3: OpenJPEG statisch unter Windows

Die Macher vom Phoenix-Viewer haben im Changeset 3de7c9b5acf3 eine wichtige Änderung eingebaut: fortan wird OpenJPEG als statische Bibliothek direkt ins Programm gelinkt und nicht mehr erst zur Laufzeit als DLL geladen.

Wer sich mit einem Texteditor auskennt, für den ist es natürlich ein Leichtes, diese Änderung zu revidieren, dann muss er aber noch immer ein komplettes Buildsystem haben und Phoenix selber bauen können. Der tiefere Sinn dieser Änderung erschließt sich mir jedenfalls nicht wirklich.

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.