2017-01-13 2 views
4

SpriteKit läuft effizient auf der GPU.Gründe für die Verwendung von CoreGraphics anstelle von SpriteKit?

CoreGraphics läuft auf der CPU.

Ich kann nicht an irgendeine Zeichnung denken, die CoreGraphics tun kann, die SpriteKit nicht tun kann.

Können Sie Gründe dafür nennen, warum jemand CoreGraphics gegenüber SpriteKit für neue Apps bevorzugen möchte?

+1

ich so kenne, hat seltsame Politik auf „subjektiven“ Fragen und „Meinung basiert“ Antworten, aber wenn Sie s ay "zwischen diesen beiden Möglichkeiten (SpriteKit und Core Image), was am besten für ... ABC ist, weil sie beide (in vielerlei Hinsicht) verschiedenartig und nur in gewisser Weise komplementär sind, könnten Sie einige gute Antworten bekommen. Bevor es geschlossen wird, weil es "vom Thema" ist. Oder vielleicht genug Leute werden erkennen, dass ABC im Rahmen von nur zwei Frameworks nicht wirklich Meinung ist, dass Fakten Objektivität von best/right zeigen können. – Confused

+1

Der Vorteil von SpriteKit ist, dass es auf OpenGL/Metal basiert und sehr schnell ist. Sie werden es einfacher haben, ein 2D-Spiel mit SpriteKit zu bekommen, CoreGraphics ist eine 2D-Grafik-API auf niedrigerer Ebene, allgemeiner einsetzbar und nicht direkt mit Spielen und Interaktionen verbunden. – MoDJ

Antwort

9

Es ist keine "entweder" - oder "Frage", denn es gibt Unterschiede in ihren Fähigkeiten.

Core Graphics kann sehr komplexe Bilder erstellen, mit unglaublich raffinierten Schichten mit unterschiedlichen Effekten und Inhalten. Aber vor allem ist es sehr gut, Formen und Linien in einer Qualität zu zeichnen, die kein anderes iOS-Framework bietet. Wie Apple sagt:

Core Graphics ... bietet Low-Level, leichte 2D-Rendering mit unübertroffene Ausgabetreue. Sie verwenden dieses Framework, um Pfad-basierte Zeichnung, Transformationen, Farbmanagement, Offscreen-Rendering, Muster, Farbverläufe und Schattierungen, Bilddatenverwaltung, Bild Erstellung und Bildmaskierung, sowie PDF-Dokumenterstellung, Anzeige und Parsing.

https://developer.apple.com/reference/coregraphics

Sie keine PDF-Export Bildung, Image-Erstellung (Textur Schöpfung, ja, aber keine Bilderzeugung), noch komplexe Verläufe, Farbmanagement, komplexe Muster, Transformationen und Off-Screen-Rendering mit einem finden Kontext in SpriteKit.

Ebenso wird die Art von Anti-Aliasing in Core Graphics in SpriteKit nicht gefunden.

Wenn Sie Ihre Kreationen aus der Bildherstellung in UIKit-Anwendungen integrieren möchten, verwenden Sie besser eine Mischung aus Core Graphics, Core Image und Core Animation, anstatt SpriteKit für diese Art der Bilderstellung und Animation zu verwenden in einer App.

Verwenden Sie SpriteKit für Spiele, die von der Fokussierung auf Sprites als primären Grafikinhalt profitieren.

Sie können zum Beispiel Core Animation und Core Graphics für Spiele wählen, die sich auf dynamischeren Inhalt konzentrieren oder eine Nachfrage nach qualitativ höherwertigen, programmatisch erstellten Inhalten, die Sie nur mit SpriteKit erhalten. Oder Sie können Core-Grafiken verwenden, um Inhalte für Sprites mit einer höheren Qualität zu erstellen, als Sie jemals aus SKShapeNode herausholen können.

Also ... Pferde für Kurse.

Die Kurse sind, im Grunde:

A) Sprites und einfache 2D-Rendering und

B) Alle Arten von Grafiken, dynamische Zeichnung und viel höhere Ansprüche an Qualität und Ausgabetypen zeichnen

oder

C) ein bisschen von einer Mischung aus beiden

+0

Ihr Wissen ist erstaunlich. Ich habe eine verwandte Frage gestellt: https://stackoverflow.com/questions/41636301/doing-completely-custom-animations-with-core-animation-performance falls Sie Zeit haben. Vielen Dank. –

+1

@ code-ninja-54321 bläst sein Ego nicht mehr auf .. sein Kopf ist bereits in der Nähe der Explosion – Fluidity

Verwandte Themen