1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
    Information ausblenden
  3. Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
    Information ausblenden

Avatar Rendering Cost

Dieses Thema im Forum "Scripting" wurde erstellt von Daemonika Nightfire, 3. April 2015.

  1. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.219
    Zustimmungen:
    151
    Punkte für Erfolge:
    63
    Avatar Rendering Cost / Rendering Weigth

    huhu,

    in diesem Beispiel moechte ich die Funktion die dafuer benoetigt wird den ARC auszugeben vorstellen.
    Zu aller erst, der ARC heisst offiziell nicht mehr ARC auch wenn es in den Viewern teilweise noch so betitelt wird.
    Die offizielle Bezeichnung lautet jetzt Rendering Weigth bzw. Draw Weigth.

    Im folgenden Script habe ich lediglich eine Touch Funktion mit Hovertext verwendet, denn ich werde hier mit Sicherheit kein Tutorial erstellen wie man das automatisch abfragt um die Leute von der Sim zu kicken.

    Code:
    default
    {
        touch_start(integer num)
        {
            key Agent = llDetectedKey(0);
            list details = llGetObjectDetails(Agent, [OBJECT_RENDER_WEIGHT]);
            integer ARC = llList2Integer(details, 0);
            
            llSetText("Your Avatar Rendering Cost\n(Mesh/Rendering weight)\n" + llKey2Name(Agent) + "\nARC = " + (string)ARC, <1,1,1>, 1.0);
        }
    }
    Mehr ist das nicht, zum abfragen der eigenen Render Weigth reicht das voellig aus.

    Nun muss man aber wissen, das diese Funktion nur einen pauschalen wert zurueck gibt, der vom System berechnet wird.
    Jeder Viewer kann die Render Weigth ebenfalls anzeigen lassen und da wird man feststellen, das die von der Aufloesung abhaengig ist.
    Das bedeutet, nicht jeder Viewer sieht die Render Weigth gleich. Wer zum beispiel LOW Grafik faehrt, bekommt ganz andere werte als jemand mit Ultra Grafik.

    Auf dieser Wiki Page wird genauer auf die Berechnung der einzelnen Werte eingegangen:
    http://wiki.secondlife.com/wiki/Mesh/Rendering_weight
    Ganz besonders interessant ist auch Punkt 4 additions, mit wie vielen punkten sich die Render Weigth erhoeht wenn man ein Facelight traegt. ;)

    LG
    Dae

    Das Thema kann hier meinetwegen diskutiert werden.
     
    Zuletzt bearbeitet: 7. April 2015
  2. Gitta4 Setzer

    Gitta4 Setzer Aktiver Nutzer

    Beiträge:
    341
    Zustimmungen:
    67
    Punkte für Erfolge:
    39
    -1 habe ich, ist das dann wenig?
     
  3. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.219
    Zustimmungen:
    151
    Punkte für Erfolge:
    63
    Nein, der Server hat deine Weigth lediglich noch nicht berechnet.
    Warte ein wenig und versuche es in ein paar Minuten noch einmal. Gestern musste ich 20 Minuten auf Aktualisierung warten.
    Was mal wieder der beste Beweis ist, wie schwachsinnig es ist, das gleich nach einem Teleport abzufragen.

    Wenn du aber wissen willst, welche werte viel und welche wenig sind, schalte die Funktion des Viewers ein.
    Ueber deinem Kopf wird dann der Wert Farblich angezeigt. Gruen ist super, orange ist mittelmaessig, rot ist extrem viel.

    PS: fuer eine Gruene Anzeige ist der Avatar fast nackt.
    Mit einem mesh Body liegt du zwischen 100000 und 200000 mit allen Attachments zusammen im ertraeglichen bereich. Weniger ist natuerlich besser.

    Jedoch ist das noch lange kein Grund, jemanden wegen etwas zu hohen Werten von der Sim zu kicken. Wenn ein Avatar meinen Rechner uebermaessig belastet, derendere ich von demjenigen die stoerenden Attachments. Aus den Augen aus dem Sinn aus dem Speicher.

    LG
    Dae
     
    Zuletzt bearbeitet: 3. April 2015
  4. Gitta4 Setzer

    Gitta4 Setzer Aktiver Nutzer

    Beiträge:
    341
    Zustimmungen:
    67
    Punkte für Erfolge:
    39
    Das Script sagt auch jetzt -1 und viewer zeigt in grün 440.
     
  5. Kila Shan

    Kila Shan Moderatorin Mitarbeiter

    Beiträge:
    14.944
    Zustimmungen:
    1.017
    Punkte für Erfolge:
    129
    Funktioniert, oder?

    [​IMG]
     
  6. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.219
    Zustimmungen:
    151
    Punkte für Erfolge:
    63
    Ne Kila, -1 ist definitiv Falsch.
    Das bedeutet, -1 ist unbekannt und der maximale Wert waere 500000
    Du musst echt warten, oder die Region wechseln.

    Gitta4 und ich haben es vorhin auf meiner Sim getestet, es hat eine gefuehlte Ewigkeit gedauert bis sich der Wert langsam an die ARC des Viewers annaehert.
    Jedenfalls ist diese Funktion definitiv unbrauchbar fuer einen Teleport-Point um Avatare wegen ihrer ARC gleich wieder zu kicken.

    LG
    Dae
     
  7. Kila Shan

    Kila Shan Moderatorin Mitarbeiter

    Beiträge:
    14.944
    Zustimmungen:
    1.017
    Punkte für Erfolge:
    129
    Wäre es da nicht sinnvoll, statt -1 "unbekannt", oder "Fehler" hinzuschreiben?


    Wahhhhh, nun habe 4212.

    Aber was sagt mir das nun?
     
  8. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.219
    Zustimmungen:
    151
    Punkte für Erfolge:
    63
    Dir zu liebe Kila. ;)

    Code:
    default
    {
        touch_start(integer num)
        {
            key Agent = llDetectedKey(0);
            list details = llGetObjectDetails(Agent, [OBJECT_RENDER_WEIGHT]);
            integer ARC = llList2Integer(details, 0);
            
            string Text = (string)ARC;
            if(ARC == -1)
            {
                Text = "unbekannt";
            }
            llSetText("Your Avatar Rendering Cost\n(Mesh/Rendering weight)\n" + llKey2Name(Agent) + "\nARC = " + Text, <1,1,1>, 1.0);
        }
    }
     
  9. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.219
    Zustimmungen:
    151
    Punkte für Erfolge:
    63
    Deine Pueppie ist Ultra low LAG.
    Wenn ich das richtig beobachte habe, ist alles unter 100000 noch im gruenen Bereich.

    LG
    Dae
     
  10. aviva Sparta

    aviva Sparta Superstar

    Beiträge:
    1.645
    Zustimmungen:
    514
    Punkte für Erfolge:
    124
    Jetzt war ich nun auch neugierig^^

    Bei mir klappte es sofort, zumindest schein es so:


    [​IMG]
     
  11. Kila Shan

    Kila Shan Moderatorin Mitarbeiter

    Beiträge:
    14.944
    Zustimmungen:
    1.017
    Punkte für Erfolge:
    129
    Püppi?!?!?!?!? das bin ich, das Auberginenentchen
     
  12. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.219
    Zustimmungen:
    151
    Punkte für Erfolge:
    63
    Langsam habe ich das Gefuehl, ein anderer Avatar muss deinen sehen, bevor es ueberhaupt angezeigt wird.
    Eben zeigte es bei mir auch die ganze zeit "unbekannt" an und erst nachdem ich mir einen Avatar gesucht habe und durch sein Sichtbereich geflogen bin, zeigte das Script ploetzlich meine ARC an.

    LG
    Dae
     
  13. Kila Shan

    Kila Shan Moderatorin Mitarbeiter

    Beiträge:
    14.944
    Zustimmungen:
    1.017
    Punkte für Erfolge:
    129
    Nein, ich war allein auf der Sim. Ich habe aber die richtige Gruppe aktiviert, vllt.liegt es daran.
    Ach nochwas, der Kasten gehört mir auch nicht.
     
  14. aviva Sparta

    aviva Sparta Superstar

    Beiträge:
    1.645
    Zustimmungen:
    514
    Punkte für Erfolge:
    124
    Hmm bei mir traff das nicht zu, bin hier ganz alleine auf der Pazelle - ich habe nur geklickt und schon erschien die Anzeige sofort.
     
  15. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.219
    Zustimmungen:
    151
    Punkte für Erfolge:
    63
    Das wirkt auf mich alles andere als ausgereift. ;)

    Parzelle oder Region?
    Ich vermute langsam wirklich, das dich auf der Region mindestens ein Avatar gesehen haben muss.
    Gerade eben bin ich noch mal auf ne leere Sim teleportiert und dort wurde mir wieder "unbekannt" angezeigt.

    LG
    Dae
     
    Zuletzt bearbeitet: 3. April 2015
  16. aviva Sparta

    aviva Sparta Superstar

    Beiträge:
    1.645
    Zustimmungen:
    514
    Punkte für Erfolge:
    124
    Ich teste es zeitnah aus auf einer komplett leeren Sim.
     
  17. aviva Sparta

    aviva Sparta Superstar

    Beiträge:
    1.645
    Zustimmungen:
    514
    Punkte für Erfolge:
    124
    Ich testete es nun auf mehreren leeren Sims und hatte nirgendwo ein Problem.
    Es kam mir in den Sinn das es vieleicht an den Server von den Sims liegen könnte, so testete ich es auf Magnum, Le Tigre und Second life Server aus, kein Unterschied.
    Was mir jedoch auffiel, das sich der Wert zu meinem ersten Mal minimal änderte, obwohl ich nichts an mir änderte
     
  18. Durandir Darwin

    Durandir Darwin Forumsgott/göttin

    Beiträge:
    6.852
    Zustimmungen:
    4.301
    Punkte für Erfolge:
    139
    Der arc-Wert ändert sich sich durch Veränderung der Kamera-Position (zoomen).
     
  19. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.219
    Zustimmungen:
    151
    Punkte für Erfolge:
    63
    @ Kila
    Ich weiss das dein Pueppchen dein Avatar ist. ;)


    @ Durandir
    Das Script duerfte fuer mein Verstaendniss nicht von der Kamera oder Aufloesung beeinflusst werden. Es gibt ja nur den Wert zurueck, den der Server pauschalt berechnet.
    Ansonsten gebe ich dir recht, den tatsaechlichen ARC (Rendering Weigth) im Viewer der deinen Rechner belastet ist stark von der Kamera, Aufloesung und Entfernung der Objekte abhaengig.

    @ Aviva
    Ich werde das Script bei naechster Gelegenheit mal auf dem HUD anbringen und durch die Gegend teleportieren. Mich interessiert nun wirklich, woran das liegt das manchmal "unbekannt" zurueck gegeben wird.

    LG
    Dae
     
    Zuletzt bearbeitet: 4. April 2015
  20. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.219
    Zustimmungen:
    151
    Punkte für Erfolge:
    63
    Eben habe ich mal einige Regionen abgeflogen und mein Verdacht erhaertet sich.
    Augenscheinlich liegt es daran das dein Avatar gesehen werden muss, damit der Server einen Wert liefert.

    Immer dann wenn Avatare anwesend waren, dauerte es nicht sonderlich lang, bis ein Wert angezeigt wurde.
    Bots scheinen auch nicht zu zaehlen.
    Falls das noch jemand austesten moechte, hier habe ich das geaenderte Script mit OwnerSay fuer die Chat-Ausgabe:
    Code:
    string here;
    string Rating;
    string version;
    string channel;
    string Text;
    default
    {
        touch_start(integer num)
        {
            key Agent = llDetectedKey(0);
            list details = llGetObjectDetails(Agent, [OBJECT_RENDER_WEIGHT]);
            integer ARC = llList2Integer(details, 0);
            
            Text = (string)ARC;
            if(ARC == -1)
            {
                Text = "unbekannt";
            }
            llSetText("Your Avatar Rendering Cost\n(Mesh/Rendering weight)\n" + llKey2Name(Agent) + "\nARC = " + Text, <1,1,1>, 1.0);
            
            version = llGetEnv("sim_version");
            channel = llGetEnv("sim_channel");
            here = llGetRegionName();
            Rating = llRequestSimulatorData(here, DATA_SIM_RATING);
        }
        
        dataserver(key queryId, string data) 
        {
            if(queryId == Rating)
            {
                Rating = data;
                llOwnerSay("Region \"" + here + "\" (" + Rating + ") is running " + channel + " version " + version + " (ARC = " + Text + ")");
            }
        }
    }
    LG
    Dae
     
    Zuletzt bearbeitet: 4. April 2015