Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Hardwarebeschleunigung für OpenGL ES

Das Thema "Hardwarebeschleunigung für OpenGL ES" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 23.07.2009, 23:30   #1 (permalink)
Neuer Benutzer

Registriert seit: 23.07.2009
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Hardwarebeschleunigung für OpenGL ES

Hallo erstmal,

nachdem ich mich einige Zeit mit dem Emulator (1.5r3) gequält habe, habe ich jetzt ein Samsung I7500 erworben. Mit dem Emulator habe ich bereits eine Portierung meiner Java3D-Engine begonnen. Der Emulator nutzt leider immer nur einen Software-Renderer und der ist unerträglich langsam. Daher habe ich das jetzt auf dem echten Telefon probiert und...das nutzt auch nur den Software-Renderer und ist unerträglich langsam. Der Initialisierungscode ist exakt wie in diesem Beispiel: Android Developers Blog: Introducing GLSurfaceView

Ich habe bereits im Netz gesucht, ob, wie weit und wann Android Hardware nutzt und bin auf widersprüchliche Aussagen gestoßen. Manchmal heißt es "nein", dann heißt es "kommt drauf an", dann wieder "ja". Aber Fakt ist auch: Zumindest auf meinem Telefon und diesem Code wird es NICHT genutzt. Liegt das nun am Telefon (die Hardware kann es aber durchaus, wenn man den Specs glauben darf), am Code (was muss ich anders machen?) oder an Android?
EgonOlsen71 ist offline   Mit Zitat antworten
Alt 26.07.2009, 09:49   #2 (permalink)
Neuer Benutzer

Registriert seit: 23.07.2009
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Hardwarebeschleunigung für OpenGL ES

Niemand eine Idee? Ich habe mal ein paar 3D-Spiele vom Market probiert, aber entweder machen die simples Flatshading, was man vermutlich auch mit den 2D-Grafikmethoden noch hinbekommt, oder sie machen komplett ihr eigenes Softwarerendering (Doom) oder sie scheinen die Dalvik-VM nur als Startup-Vehikel für was natives zu nutzen (diese Autorennen von Omnigsoft). Letztere zeigen immerhin, dass die Hardware es kann....aber mittels VM bekomme ich nach wie vor nur Softwarerendering geliefert.
Macht niemand was mit OpenGL auf den Dingern, außer darüber zu reden, wie klasse es gehen würde, wenn man es täte? Man findet kaum vernünftige Informationen darüber im Netz...
EgonOlsen71 ist offline   Mit Zitat antworten
Alt 29.07.2009, 20:36   #3 (permalink)
Junior Mitglied
 
Benutzerbild von superSonic

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 27.06.2009
Beiträge: 33
Abgegebene Danke: 9
Erhielt 1 Danke für 1 Beitrag
Standard AW: Hardwarebeschleunigung für OpenGL ES

Hallo,

die Portierung einer Java-3D-Engine auf Android dürfte ziemlich nervig werden. Zum einen hast du kein natives floating point (das hier könnte helfen: Fixed-point arithmetic - Wikipedia, the free encyclopedia) zum Anderen verhält sich die Dalviak VM performance mäßig ganz anders als die SUN JVM auf dem PC (ich sag nur JIT). Die vielen Layer (Interfaces) die man auf dem PC sinnvollerweise implementiert können auf dem Handset einem das Genick brechen.

Guck mal hier: YouTube - Google I/O 2009 - Writing Real-Time Games for Android

Dort dreht es sich um Android-Echtzeit-Game-Programming. Auch wenns eher um 2D-Spiele geht ists sicher hilfreich (vor allem was er über die Framerate in Verbindung mit dem GC so sagt). So wie ich den Referenten verstehe müsste aber Hardwaresupport auf dem G1 funktionieren - jedoch scheint man sehr genau wissen zu müssen was man macht.

Evtl. kann es auch an Samsungs Implementierung liegen. Bau doch mal ne kleine Test-App (mit FPS-Counter) und frag nen G1/Magic Besitzer ob er das mal ausführt und sagt wie es bei ihm läuft. Dadurch kann man Herstellerproblematik schon einmal ausschließen. Würde mich auch interessieren.

Ich hab im mom leider kein Android-Tel um das für Dich zu testen, aber gibt hier ja genug

Viele Grüße,

SuperSonic
superSonic ist offline   Mit Zitat antworten
Alt 29.07.2009, 21:25   #4 (permalink)
Junior Mitglied
 
Benutzerbild von superSonic

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 27.06.2009
Beiträge: 33
Abgegebene Danke: 9
Erhielt 1 Danke für 1 Beitrag
Standard AW: Hardwarebeschleunigung für OpenGL ES

Ich meinte natürlich "Dalvik VM" - sorry.

BTW: Habt ihr den "Ändern-Button" gesehen?
superSonic ist offline   Mit Zitat antworten
Alt 29.07.2009, 21:48   #5 (permalink)
Neuer Benutzer

Registriert seit: 23.07.2009
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Hardwarebeschleunigung für OpenGL ES

Zitat:
Zitat von superSonic Beitrag anzeigen
Hallo,

die Portierung einer Java-3D-Engine auf Android dürfte ziemlich nervig werden. Zum einen hast du kein natives floating point (das hier könnte helfen: Fixed-point arithmetic - Wikipedia, the free encyclopedia) zum Anderen verhält sich die Dalviak VM performance mäßig ganz anders als die SUN JVM auf dem PC (ich sag nur JIT). Die vielen Layer (Interfaces) die man auf dem PC sinnvollerweise implementiert können auf dem Handset einem das Genick brechen.
Die Portierung ist eigentlich fast fertig. Das mit der FPU ist ein Problem, aber um das wirklich bewerten zu können, müsste man eine vernünftige Rendergeschwindigkeit hinbekommen. Ansonsten ist es eh zu lahm. Auf Fixed-Point habe ich verzichtet und das bleibt auch so. Ich habe viel mit Fixed-Point in Softwarerenderern gemacht...das ist eine Sache. Aber Kollisionsabfragen damit zu machen, dass ist eine ganz andere.
Was die Layer angeht: Das Problem habe ich nicht. Meine Engine ist sehr schmal gehalten was das angeht, was sich aus ihrer Historie raus erklärt. D.h. ich habe kaum Interfaces, das meiste interne ist packagepublic und die Zugriffe laufen direkt auf den Attributen ab. Das ist nicht sehr OO, aber war früher gut für 1.1er VMs und ist es auch für Dalvik.
Ich habe auf Javagaming.org noch einen Thread zum Thema laufen, der aber bisher auch kein endgültiges Ergebnis gebracht hat.
EgonOlsen71 ist offline   Mit Zitat antworten
Alt 25.03.2010, 18:51   #6 (permalink)
Neuer Benutzer

Modell: HTC Hero

Registriert seit: 28.10.2009
Beiträge: 17
Abgegebene Danke: 2
Erhielt 1 Danke für 1 Beitrag
Standard AW: Hardwarebeschleunigung für OpenGL ES

Offenbar muss man explizit ein anderes Pixelformat setzen (Depth Buffer auf 16 Bits), um auf dem Galaxy Hardware-Beschleunigung zu bekommen:

Samsung Galaxy odd OGL ES hardware acceleration [RESOLVED] :: anddev.org - Android Development Community | Android Tutorials
eyebex ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht





Du liest gerade: "Hardwarebeschleunigung für OpenGL ES" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.