Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

11

03.02.2011, 08:20

An dieser Stelle würde ich mal die Frage stellen wozu genau das benötigt wird. Lesen aus dem Grafik-Speicher ist nicht zu empfehlen, außer es ist unbedingt notwendig, wie bei einem Export eines Renderings als Screenshot oder ähnliches.
Die Berechnung der Durchschnittsfarbe allein jedenfalls könnte sich anders deutlich besser erledigen lassen. Irgendwo musst du ja das Bild laden und in eine Textur packen. An dieser Stelle würde ich einsetzen und die Durchschnittsfarbe gleich mit berechnen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

03.02.2011, 12:35

Das ist schon richtig aber da er seine Textur im Managed Pool ablegt liest er eh nicht aus dem Grafikspeicher sondern aus einer Kopie im RAM. Natürlich kann man das ganze vernünftiger machen, aber in dem Fall den er beschrieben hat sollte es auch so gehen ohne Auswirkungen auf die Performance vermute ich. Der idealere Weg wäre freilich seine Texturen im Default Pool abzulegen und sich selbst drum zu kümmern und dann natürlich die Daten nicht aus der Textur zu lesen sondern von dort wo sie herkommen...

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (03.02.2011, 12:49)