5

Czytałem już od kilku godzin documentation o rysowaniu grafiki dwuwymiarowej w aplikacji kakao celu-c. Wydaje się, że istnieje kilka różnych technologii, które są ściśle związane z niektórymi zadaniami. Rozumiem, że następujące technologie powodują następujące rzeczy. Proszę popraw mnie jeżeli się mylę.Kakao Grafika 2D: Kwarcowy, Core Image lub Core Animation?

  • Kwarcowy 2D: Biblioteka główna do rysowania kształtów, tekstu i obrazów na ekranie.
  • Core Graphics: jest to nazwa frameworka zawierającego kwarc. Może to być używane jako synonim kwarcu.
  • QuartzGL: Tryb przyspieszania GPU dla kwarcu, który nie jest domyślnie włączony, a nie necessarily faster do rysowania rzeczy na ekranie.
  • OpenGL: Biblioteka o najniższym poziomie, rozmowa bezpośrednio z kartą graficzną kosztem większej liczby linii kodu. Bardziej odpowiedni do grafiki 3D.
  • Obraz rdzenia: Biblioteka do wyświetlania obrazów i tekstu, ale nie na tyle, by rysować prymitywy kształtów.
  • Core Animation: Biblioteka do automatycznego animowania obiektów. Najwyraźniej nie pasuje do moving large numbers of objects. Ani dla continuous animation of objects.
  • QuickTime: Biblioteka, która najwyraźniej wykonuje również obrazy i tekst oprócz wideo, ale prawdopodobnie nie nadaje się do rysowania prostych kształtów.

Co chciałbym zrobić, to stworzyć przeglądarkę dla określonego rodzaju danych. Widok nie byłby bardzo skomplikowany i polegałby na rysowaniu prostokątów w określonych miejscach. Jednak użytkownik powinien móc się poruszać, przeciągając widok w lewo lub w prawo, a ruch ten powinien być płynny. Oto przykład, który jest bardzo zbliżony do tego, co próbuję zrobić:

http://jbrowse.org/ucsc/hg19/

Co rysunek technologia byś polecam zacząć kodowanie z?

Odpowiedz

5

Chcesz kwarcu. Dopóki twój wykres nie wyświetla MASYWNEJ ilości danych, każdy Mac (zakładam, że Mac nie jest iOS) powinien sobie z tym poradzić. Jest to łatwe, wydajne i prawdopodobnie doprowadzi Cię tam, gdzie chcesz się udać. Jeśli chodzi o ruch przeciągania, prawdopodobnie poradzisz sobie z warstwami Core Animation.

Uwaga: wszystko na końcu jest obsługiwane przez AppKit (komputery Mac) lub UIKit (iOS), a ostatecznie także Core Animation. Jeśli tworzysz grafikę, w pewnym momencie napotkasz Core Animation, która zarządza wszystkim wyświetlanymi.

Uwaga: Jeśli tworzysz wykres , że wiele danych, możesz użyć OpenGL, ale nawet wtedy potrzeba nie powinna być zbyt duża, dopóki nie zaczniesz wyświetlać, prawdopodobnie wiele milionów wierzchołków lub skomplikowanych wizualizacji.