Apple kündigt veraltete OpenGL- und OpenCL-Technologien an


Aus der Apple-Präsentation

Apple hat die Entwicklerdokumentation aktualisiert. Abschnitt "Was ist neu?" den wichtigsten Änderungen in macOS 10.14 gewidmet: Dies ist das dunkle Farbschema Dark Mode, die neue Create ML-Technologie zum Erstellen und Trainieren neuronaler Netze auf dem Mac, der aktualisierte Mac App Store mit neuen Programmierschnittstellen für Bewertungen und Reviews (für macOS 10.14 SDK), das neue Netzwerkframework Network Framework Das Framework für natürliche Sprache zur Analyse natürlicher Sprache und zum Isolieren von Metadaten, die für eine bestimmte Sprache spezifisch sind, ermöglicht den direkten Zugriff auf TLS-, TCP- und UDP-Netzwerkprotokolle aus Anwendungen (das Framework kann in Verbindung mit Create ML zum Trainieren neuronaler Netzwerke verwendet werden).

Das Interessanteste ist jedoch im Keller verborgen, nämlich im Abschnitt "Verfallene und entfernte APIs". Es wird die Aufgabe "veralteter" OpenGL- und OpenCL-Technologien erwähnt. Diese Technologien erhalten die „schwarze Markierung“, dh Apple rät nachdrücklich von der Verwendung von OpenGL und OpenCL bei der Entwicklung neuer Produkte ab.

"Apple fügt der API regelmäßig Verfallsmakros hinzu, um anzuzeigen, dass diese APIs nicht mehr in der aktiven Entwicklung verwendet werden sollten", heißt es in der Dokumentation. - Wenn Veralterung auftritt, bedeutet dies nicht das unmittelbare Ende der Lebensdauer dieser Softwareschnittstellen. Dies markiert den Beginn einer Nachfrist für den Übergang von diesen APIs zu einer neueren und moderneren Alternative, die ersetzt wird. “

Apple stellt fest, dass veraltete APIs normalerweise auf dem System verbleiben und nach der Veröffentlichung für eine „angemessene Zeit“ verwendet werden können, wenn sie veraltet sind. Die aktive Entwicklung auf ihnen wird jedoch gestoppt, und die API erhält nur geringfügige Sicherheitsupdates oder andere kritische Fehler. Entwickler werden gewarnt, dass veraltete APIs möglicherweise vollständig aus einer zukünftigen Version des Betriebssystems entfernt werden .

Apple empfiehlt, veraltete APIs in seinem Code so schnell wie möglich zu entfernen. Zumindest sollte neuer Code niemals OpenGL und OpenCL verwenden. Und wenn ein alter Code diese Schnittstellen verwendet, muss er so schnell wie möglich ersetzt werden.

Alternative: Metall


Mit OpenGL und OpenCL erstellte Anwendungen können weiterhin unter macOS 10.14 ausgeführt werden, dies sind jedoch bereits veraltete Technologien. „Spiele und Grafikanwendungen, die OpenGL verwenden, sollten jetzt Metal verwenden. Ebenso sollten Anwendungen, die OpenCL für Rechenaufgaben verwenden, jetzt Metall und Metal Performance Shaders verwenden. “

Metall - neue Software-Schnittstellen, die von Grund auf ohne Abwärtskompatibilität entwickelt wurden. Laut Apple bieten sie einen besseren Zugriff auf moderne Grafikprozessoren unter iOS, macOS und tvOS-Geräten: „Metal vermeidet den Overhead veralteter Technologien und repräsentiert die neuesten Grafikverarbeitungsfunktionen. Dank der einheitlichen Grafik- und Computerunterstützung von Metal können Anwendungen die neueste Visualisierungstechnologie nutzen. Informationen zum Entwickeln von Anwendungen und Spielen mit Metal finden Sie in der Entwicklerdokumentation für Metal , Metal Performance Shaders und MetalKit . “

Informationen zum Migrieren von OpenGL-Code nach Metal finden Sie unter Mischen von Metal und OpenGL-Rendering in einer Ansicht .

Entwickler bei Hacker News stehen Apple skeptisch gegenüber. Im Allgemeinen ist der Konsens folgender: Dieses Unternehmen hasst Computerspiele entweder wirklich oder leidet schwer an einem Syndrom der Ablehnung der Entwicklung eines anderen (NIH-Syndrom). Dies ist eine Position in sozialen, Unternehmens- oder Organisationskulturen, die die Verwendung von Entwicklungen Dritter aus verschiedenen Gründen vermeidet: Angst vor Patentverletzungen, Missverständnisse der Arbeit eines anderen, mangelnde Bereitschaft, die Arbeit anderer anzuerkennen oder zu schätzen, Eifersucht oder als Teil eines umfassenderen „Krieges um das Territorium“. Angeblich bestätigt die Metalltechnologie das Vorhandensein des NIH-Syndroms.

Kommentatoren erinnern sich auch daran, dass das Elite Dangerous-Projekt für Mac aufgrund der unachtsamen Unterstützung von OpenGL kürzlich abgeschlossen werden musste .

Andererseits werden die meisten Spiele heute auf Unity3D, Unreal Engine und anderen Engines erstellt, die Metal unterstützen. Wer Zeit und Geld in die Entwicklung von OpenGL / OpenCL investiert hat, ist schuld.

Source: https://habr.com/ru/post/de413335/


All Articles