Další změny architektury macOS Sierra

Zrychlení vylepšení architektury

V rámci architektury Zrychlení pro macOS Sierra jsme provedli následující vylepšení:

  • Přidání kvadratury (integrální kalkulus).
  • Přidání základních funkcí pro vytváření neurálních sítí
  • Přidali jsme geometrické predikátové funkce pro testování věcí, jako je průsečík dvou geometrických objektů.

Vylepšení architektury AppKit

V rozhraní AppKit Framework pro macOS Sierra jsme provedli následující vylepšení:

  • Několik vylepšení, NSCollectionView například:
    • Sbalitelné oddíly – Umožňuje uživateli sbalit oddíl Zobrazení kolekce do jednoho vodorovného řádku.
    • Plovoucí záhlaví – Záhlaví a zápatí teď můžou být plovoucí (v rozložení toku) pomocí stejného rozhraní API jako UICollectionView v iOSu.
    • Posuvná zobrazení pozadí – Pozadí zobrazení kolekce je teď možné nastavit tak, aby se s obsahem posouvat.
  • Odložené rozložení zobrazení bylo optimalizováno a rozšířeno.
  • Rozhraní API pro přetažení teď obsahuje nové NSFilePromiseProvider třídy a NSFilePromiseReceiver podporuje přetahování myší.
  • Do existujících ovládacích prvků bylo přidáno několik konstruktorů pohodlí:
    • NSButton obsahuje nové konstruktory pro vytváření tlačítek, zaškrtávacích políček a přepínačů.
    • NSTextField obsahuje nové konstruktory pro vytváření obtékání a popisků bez obtékání, přiřazených popisků a upravitelných textových polí.
    • NSSegmentedControl obsahuje nové konstruktory pro vytváření segmentovaných ovládacích prvků ze skupiny popisků nebo obrázků.
    • NSSlider obsahuje nové konstruktory pro vytváření vodorovných lineárních posuvníků.
    • NSImageView obsahuje nové konstruktory pro vytváření needitovatelných zobrazení obrázků z daného NSImageobjektu .
  • Novinka NSGridView byla přidána k automatickému rozložení kolekce dílčích zobrazení do mřížky s řádky a sloupci s proměnlivou velikostí, které lze dynamicky skrýt nebo zobrazit.

Vylepšení architektury AVFoundation

V rozhraní AVFoundation Framework pro macOS Sierra jsme provedli následující vylepšení:

  • V systému macOS už aplikace nemusí implementovat různé chování AVPlayerItem na základě typu obsahu. Jednoduše nastavte Rate vlastnost a AVFoundation určí, kdy je k dispozici dostatek obsahu pro přehrávání bez zastavení.
  • Nová AVPlayerLooper třída usnadňuje smyčku daného média během přehrávání.
  • Třída AVAssetDownloadURLSession umožňuje stahování a pozdější přehrávání streamů HLS šifrovaných FairPlay.

Vylepšení základní datové architektury

V rozhraní Core Data Framework pro macOS Sierra jsme provedli následující vylepšení:

  • Kořenové objekty NSManagedObjectContext podporují souběžné chybování a načítání bez serializace.
  • NSPersistentStoreCoordinator třída udržuje fond úložišť dat SQLite.
  • Objekty NSManagedObjectContext s úložišti dat SQLite v režimu DENÍKU WAL podporují novou funkci generování dotazů, ve které je možné připnout kontexty spravovaného objektu (MOC) ke konkrétním verzím databáze pro budoucí načítání a chybující transakce.
  • Použití vysoké úrovně NSPersistenceContainer k odkazování na NSPersistentStoreCoordinator, NSManagedObjectModel a další základní datové konfigurační prostředky.
  • Bylo přidáno několik nových metod usnadnění, které NSManagedObject usnadňují načítání a vytváření podtříd.

Další informace najdete v referenčních informacích k rozhraní Core Data Framework společnosti Apple.

Vylepšení architektury základních imagí

V rozhraní Core Image Framework pro macOS Sierra jsme provedli následující vylepšení:

  • ImageWithExtent Metoda CIFilter třídy lze použít k vložení vlastního zpracování do operace filtru. Základní image vyvolá dané zpětné volání mezi filtry při zpracování obrázku pro výstup nebo zobrazení.
  • Aplikace teď může zpracovávat obrázky v barevném prostoru mimo pracovní barevný prostor v kontextu základního obrázku tím, že před zpracováním a po zpracování převede barevný prostor do a z barevného prostoru.
  • Jádro Core Image teď může požadovat konkrétní formát výstupu pixelu.
  • Byly přidány následující nové filtry obrázků: CINinePartTitled, CINinePartStretched, CIHueSaturationValueGradientCIEdgePreserveUpsampleFilter a CIClamp.

Vylepšení architektury Foundation Framework

V rámci foundation Framework pro macOS Sierra jsme provedli následující vylepšení:

Další informace najdete v poznámkách k verzi pro OS X v10.12 a iOS 10 od Společnosti Apple.

Vylepšení architektury GameKit

V rozhraní GameKit Framework pro macOS Sierra jsme provedli následující vylepšení:

  • Aplikace Game Center je zastaralá a odebraná z macOS. Pokud aplikace používá GameKit, musí prezentovat vlastní rozhraní pro zobrazení funkcí GameKitu, jako jsou tabulky výsledků atd.
  • Nový typ účtu jen pro iCloud byl implementován třídou GKCloudPlayer .
  • Nová třída GKGameSession poskytuje generalizované řešení pro správu trvalého úložiště dat v Game Center. GKGameSession udržuje seznam hráčů a aplikace zodpovídá za implementaci způsobu uložení, načtení nebo výměny data účastníka mezi hráči. V mnoha případech herní relace můžou nahradit stávající shody založené na turn-time, shody v reálném čase nebo trvalé metody ukládání her.

Vylepšení architektury GamePlayKit

V rozhraní GamePlayKit Framework pro macOS Sierra jsme provedli následující vylepšení:

  • Byla přidána procedurální generace šumu a lze ji použít k vylepšení realismu v přírodních texturách, přidat realismus k pohybům kamery a pomoci generovat bohaté herní světy.
  • Pomocí prostorového dělení rozdělte data herního světa k efektivnímu vyhledávání.
  • Byl přidán nový monte carlo strategist (GKMonteCarloStrategist) pro vyčerpávající možné výpočty přesunutí.
  • Přidali jsme nové rozhraní API rozhodovacího stromu (GKDecisionTree a GKDecisionNode), které vylepšuje rozhraní AI pro vytváření her.
  • Podpora 3D byla přidána do existujícího agenta a chování hledání cest pomocí nových tříd GKAgent3D a GKGraphNode3D .
  • Pomocí nové třídy GKMeshGraph můžete poskytovat vysoce výkonné a přirozeně vypadající cesty.
  • Nové třídy GKScene a GKSKNodeComponent usnadňují kombinování Sady GameplayKit a SpriteKit.

Vylepšení kovové architektury

V rámci metalového rozhraní pro macOS Sierra jsme provedli následující vylepšení:

  • 3D aplikace a hry teď Můžou pomocí Tessellation efektivně vykreslovat složité scény a geometrii prostřednictvím GPU.
  • Pomocí specializace funkcí můžete vytvořit vysoce optimalizovanou kolekci materiálových a lehkých kombinovaných funkcí pro scénu.
  • Poskytuje jemně odstupňovanou kontrolu nad přidělováním prostředků za účelem optimalizace výkonu aplikací založených na kovu pomocí heaps prostředků a cílů vykreslování bez paměti.

Další informace najdete v průvodci programováním kovu společnosti Apple.

Vylepšení architektury vstupně-výstupních operací modelu

V modelu I/O Framework pro macOS Sierra jsme provedli následující vylepšení:

  • Formát souboru USD je nyní podporován.
  • Pomocí nové MDLMaterialPropertyGraph třídy můžete snadno podporovat změny modulu runtime v modelech.
  • Podpora Pole podepsané vzdálenosti byla přidána do třídy MDLVoxelArray .
  • Pomocí nové MDLLightProbeIrradianceDataSource třídy můžete pomoct s umístěním light sondy.

Vylepšení architektury Photos

V rozhraní Photos Framework pro macOS Sierra jsme provedli následující vylepšení:

Vylepšení architektury SceneKit

V rozhraní SceneKit pro macOS Sierra jsme provedli následující vylepšení:

  • Nyní obsahuje nový systém pro vykreslování na základě fyzického rozhraní (PBR) pro realističtější výsledky s jednodušším vytvářením prostředků.
  • Pomocí nového modelu stínování SCNLightingModelPhyslyBased můžete produktovat širokou škálu realistických stínování efektů a současně vyžadovat pouze tři základní vlastnosti (DiffuseMetalnessaRoughness).
  • Vzhledem k tomu, že stínování PBR funguje nejlépe s osvětlením na základě prostředí, použijte LightingEnvironment vlastnost k přiřazení osvětlení založeného na obrázku k tan celé scéně.
  • Použijte vlastnost k importu IESProfileURL reálných světelných zařízení, která definují osvětlení na základě hodnot reálného světa, jako je intenzita (v lumenech) a teplota barev (ve stupních Kelvin).
  • SCN Kamera třída může poskytovat větší realismus pomocí funkcí a efektů HDR. Adaptivní expozice umožňuje vytvářet automatické efekty nebo používat vignetting, color fringing a color grading k přidání filmatických efektů do hry.
  • Funkce kamery PBR i HDR poskytují lepší výsledky než tradiční techniky vykreslování a v důsledku toho sceneKit nyní provádí všechny barevné výpočty v lineárním barevném prostoru (pomocí barevného gamutu P3 na širokobarevných displejích zařízení).
  • Sada SceneKit teď barevně odpovídá všem barvám tím, že čte informace o profilu barev.
  • SceneKit interpretuje hodnoty barevných komponent v lineárním barevném prostoru RGB pro všechny typy shaderu.
  • Vzhledem k tomu, že SceneKit čte a upravuje informace o barevném profilu v obrázcích textury, použijte katalogy assetů pro všechny obrázky, abyste zajistili, že jsou tyto informace k dispozici.
  • Vykreslování lineárního barevného prostoru i široké barvy je možné zakázat zadáním SCNDisableLinearSpaceRendering a SCNDisableWideGamut klíčů v aplikaci Info.plist.
  • Sestavení libovolných mnohoúhelníkových primátů (buď načtených ze souborů nebo vygenerovaných programově), aby bylo možné určit geometrii pomocí nové třídy SCNGeometryPrimitiveTypePolygon .

Vylepšení architektury zabezpečení

Pro architekturu zabezpečení pro macOS Sierra jsme provedli následující vylepšení:

  • Rozhraní SecKey bylo modernizováno a sjednoceno na všech platformách (iOS, tvOS, watchOS a macOS).

Vylepšení architektury SpriteKit

V rozhraní SpriteKit Framework pro macOS Sierra jsme provedli následující vylepšení:

  • Mapy dlaždic nyní podporují čtvercové, šestnáctkové a izometrické obrazce dlaždic pro 2D, 2,5D a boční posouvání hry pomocí SKTileMapModeSKTileGroupSKTileGroupRule , a SKTileSet tříd.
  • Pomocí nové SKWarpGeometry třídy můžete roztáhnout nebo zkreslit vykreslování SKSpriteNode nebo SKEffectNode . Novou třídu SKAction lze použít k animaci přechodů mezi efekty warp.
  • Vlastní shadery můžou poskytovat atributy (SKAttribute), které je možné konfigurovat samostatně jednotlivými uzly, které používají shader zadáním hodnoty atributu (SKAttributeValue).
  • SkView třída poskytuje několik nových metod, které poskytují jemně odstupňovanou kontrolu nad tím, kdy a jak se scéna vykresluje.

Nové architektury

Do macOS Sierra byly přidány následující architektury:

  • Architektura záměrů – Tato architektura umožňuje aplikaci zkoumat interakce (například umístění nebo akce uživatelů) a provádět akce na základě těchto informací.
  • Architektura SafariServices – Tato architektura umožňuje aplikaci vyvíjet rozšíření aplikací pro Safari (například blokátory obsahu) pro macOS i iOS.