2016-09-25 2 views
0

Ich habe die answer for desktops gefunden, aber ich konnte nichts für Android/iOS finden (vorausgesetzt, ich kann bis OpenGL ES 3.0 verwenden). Also das ist die gleiche Frage für mobile Geräte: Ist es möglich, den gesamten Speicher in Bytes von OpenGL von meiner Anwendung programmatisch zu bekommen?Wie erhält man den Gesamtspeicherbedarf von OpenGL auf mobilen Geräten?

Hinweis: Ich bin OK mit einer nicht-universellen Lösung (AFAIK universelle Lösung existiert nicht), sondern etwas, das zumindest auf gängige Geräten (iOS/Snapdragon/..)

+0

möchten Sie wissen, GPU Speicher von OpenGL verwendet ?? und warum musst du das wissen? – Sung

+0

@SungWoo Ich schreibe in Xamarin & OpenTK eine plattformübergreifende mobile Spiel-Engine und es wäre schön, ein Debug-Widget zu haben, das Dinge wie die Anzahl der Zeichenaufrufe, Speicher und GPU-Nutzung anzeigen kann, um Lecks schnell zu identifizieren. – sydd

Antwort

3

Keine Werke, es ist nicht möglich über jede Standard-API.

Die meisten Grafiktreiber berücksichtigen jeden Grafikspeicher für den Prozess. Daher können Sie immer das Befehlszeilendienstprogramm "top" verwenden, um den gesamten Prozessspeicher zu erhalten. Es ist nicht in der Lage, den Grafikspeicher zu isolieren, aber es sollte Ihnen eine Vorstellung davon geben, wie viel Ihr Prozess insgesamt verbraucht.

Das gesagt, Sie haben wahrscheinlich eine ziemlich gute Idee, wie viel Daten Sie hochgeladen/Speicher für die Verwendung der GLES-API, die wahrscheinlich ein guter Finger in der Luft Schätzung für den Gesamtspeicher ist. Der Großteil des Massenspeichers bezieht sich auf Anwendungsressourcen.

+0

> Sie können immer das Befehlszeilendienstprogramm "top" verwenden, um den gesamten Prozessspeicher zu erhalten - nicht auf Android oder iOS (worum die Frage geht) AFAIK. Und ist es durch eine nicht standardisierte API auf Mobilgeräten möglich? Die Desktop-Verknüpfung, die ich in dem Kommentar habe, betrifft auch Erweiterungen. – sydd

+0

Installieren Sie busybox oder etwas ähnliches für Android, und es wird gut funktionieren; Die Informationen zum Linux-Kernel werden immer aus procfs exportiert. Ich denke, die einzige Einschränkung ist, dass Sie das Gerät gerootet haben müssen, wenn Sie die Befehlszeile busybox ausführen möchten; nicht sicher, ob es möglich ist, in eine APK einzubinden, aber es sollte ... – solidpixel

+0

Ich schreibe eine Grafik-Engine, Benutzer zu Root fragen ist ein bisschen zu viel:/ – sydd

Verwandte Themen