iOS: welche Technologie für schneller Bilderfolge?

  • iOS: welche Technologie für schneller Bilderfolge?

    Moin,

    ich wäre über einen Wink in die richtige Richtung dankbar.

    Ich habe eine Menge Bilder, die ich quasi als Film anzeigen muss. Welche Technologie nehme ich dafür? Ich meine, ich könnte einen UIImageView nehmen und ständig das Bild wechseln, über Quartz und OpenGL gibt es bestimmt noch alle möglichen Schweinereien ... ich weiß nur nicht, in welche Richtung ich mich belesen soll.

    Was würdet ihr machen, wenn ihr den MPMoviePlayer selbst neu schreiben müsstet?

    25 fps iPad iOS 7 Fullscreen wäre schon das Ziel.

    Hat da jemand Erfahrung?

    Vielen Dank!
  • Ah. Eine Antwort habe ich beim Stöbern in der Dokumentation schon gefunden:


    The UIImageView class works best with static images.
    If your app needs to get the best performance, use lower-level APIs.


    Das ist doch mal was. Nur welche low-level API nehme ich nun, um meine vielen Einzelbilder performant auf das iPad zu bringen? *grübel*
  • Hm. KeyframeAnimation? Ich brauche eigentlich keine Animation zwischen den einzelnen Bildern. Ich hab jedes einzelne Frame als komplettes Bild im Speicher. Ich muss die nur zur richtigen Zeit schnell auf den Schirm bekommen. Ist KeyframeAnimation da nicht etwas mit Kanonen auf Spatzen geschossen? Ich will die vielen Bilder ja gerade so schnell hintereinander anzeigen, dass keine Animation zwischen Bild n und Bild n+1 notwendig ist, weil das Hirn sie eh nicht bemerken würde (die berühmten 25 fps).

    Außerdem kommt hinzu, dass die Bilder nicht aus dem Bundle kommen und in einem hübschen Array vorliegen, das dann an eine "values" Property übergeben werden kann. Bei mir ist das quasi live streaming.

    Ich bin da auch noch am Anfang mit dem Nachdenken. Vielleicht ist die Sache ja auch ganz einfach? Ein CALayer dem ich alle 40ms ein neues Bild rein drücke? Oder muss ich mich doch mit OpenGL beschäftigen?

    Ratlose aber dankbare Grüße! ;)
  • Ähm. Ich möchte schon mehr als ein Bild anzeigen, genau genommen sogar 25 Bilder pro Sekunde. ;)

    Und die Frage der verwendeten Technologie ist ja schon relativ fundamental. Ich wollte halt einfach vermeiden, dass ich zwei Wochen in die falsche Richtung latsche. Aber in der Tat kann ich den UIImageView (dem ich die nötige Performanz nach wie vor nicht zutraue) mal schnell testen, wenn ich mit den Bildern so weit bin. Das geht ja fix.

    Nur wenn ich an so Dinge wie CoreAnimation denke und dazu meinen Zeitplan, kriege ich irgendwie schwitzige Hände ... ;)
  • Ich hab noch nie CoreGraphics direkt benutzt.

    Das ist ja gerade meine Frage: zu welchem Thema soll ich mich belesen? CoreGraphics? CoreAnimation? OpenGLES?

    Also Du meinst, ich sollte mal mit dem Quartz 2D Guide anfangen und finde dann irgendwo bei "Bitmap Images" oder "Core Graphics Layer Drawing" irgendwas, das mich schneller "malen" lässt, als die image Property in einem UIImageView zu setzen?

    Ich schaue es mir an. Danke!
  • smk schrieb:

    Ich hab noch nie CoreGraphics direkt benutzt.

    Das ist ja gerade meine Frage: zu welchem Thema soll ich mich belesen? CoreGraphics? CoreAnimation? OpenGLES?

    Also Du meinst, ich sollte mal mit dem Quartz 2D Guide anfangen und finde dann irgendwo bei "Bitmap Images" oder "Core Graphics Layer Drawing" irgendwas, das mich schneller "malen" lässt, als die image Property in einem UIImageView zu setzen?

    Ich schaue es mir an. Danke!


    an deiner stelle würde ich einfach mal schauen wie es mit UIImageView läuft. also wieviele frames du da hinbekommst auf deinem wunschgerät.
    wenn das ausreicht, warum solltest du dann noch an was anderem rumwerkeln. und das auszutesten sollte wirklich nur eine sache von minuten sein.