Udostępnij za pośrednictwem


Dodatkowe zmiany struktury systemu macOS Sierra

Przyspieszanie rozszerzeń struktury

Wprowadzono następujące ulepszenia w przewodniku Accelerate Framework dla systemu macOS Sierra:

  • Dodano ćwiartkę (całkowity rachunek).
  • Dodano funkcje podstawowe do konstruowania sieci neuronowych.
  • Dodano funkcje predykatu geometrycznego do testowania pod kątem takich rzeczy, jak przecięcie dwóch obiektów geometrycznych.

Ulepszenia struktury AppKit Framework

Wprowadzono następujące ulepszenia struktury AppKit Framework dla systemu macOS Sierra:

  • Kilka ulepszeń, NSCollectionView takich jak:
    • Zwijane sekcje — umożliwia użytkownikowi zwinięcie sekcji Widok kolekcji do jednego wiersza poziomego.
    • Nagłówki przestawne — nagłówki i stopki można teraz unosić (w układzie przepływu) przy użyciu tego samego interfejsu API co UICollectionView w systemie iOS.
    • Przewijane widoki tła — tło widoków kolekcji można teraz ustawić tak, aby przewijać zawartość.
  • Przekazywanie układu widoku odroczonego zostało zoptymalizowane i rozszerzone.
  • Interfejs API przeciągania i upuszczania zawiera teraz nowe NSFilePromiseProvider klasy i NSFilePromiseReceiver do obsługi przeciągania.
  • Do istniejących kontrolek dodano kilka konstruktorów wygody:
    • NSButton zawiera nowe konstruktory do tworzenia przycisków push, pól wyboru i przycisków radiowych.
    • NSTextField zawiera nowe konstruktory do tworzenia etykiet zawijania i nieopakowującego, etykiet przypisanych i pól tekstowych edytowalnych.
    • NSSegmentedControl zawiera nowe konstruktory do tworzenia kontrolek segmentowanych z grupy etykiet lub obrazów.
    • NSSlider zawiera nowe konstruktory do tworzenia suwaków liniowych w poziomie.
    • NSImageView zawiera nowe konstruktory do tworzenia nieedytowalnych widoków obrazów na podstawie danego NSImageelementu .
  • Nowy NSGridView został dodany do automatycznego układu kolekcji widoków podrzędnych do siatki ze zmiennymi rozmiarami wierszy i kolumn, które mogą być dynamicznie ukryte lub wyświetlane.

Ulepszenia struktury AVFoundation Framework

Wprowadzono następujące ulepszenia struktury AVFoundation Framework dla systemu macOS Sierra:

  • W systemie macOS aplikacja nie musi już implementować różnych zachowań AVPlayerItem na podstawie typu zawartości. Po prostu ustaw Rate właściwość i AVFoundation określi, kiedy wystarczająca ilość zawartości jest dostępna do odtwarzania bez wstrzymania.
  • Nowa AVPlayerLooper klasa ułatwia zapętlenie danego fragmentu nośnika podczas odtwarzania.
  • Klasa AVAssetDownloadURLSession umożliwia pobieranie i późniejsze odtwarzanie zaszyfrowanych strumieni HLS FairPlay.

Podstawowe ulepszenia struktury danych

Wprowadzono następujące ulepszenia dotyczące podstawowej struktury danych dla systemu macOS Sierra:

  • Główne obiekty NSManagedObjectContext obsługują współbieżne błędy i pobieranie bez serializacji.
  • Klasa NSPersistentStoreCoordinator obsługuje pulę magazynów danych SQLite.
  • Obiekty NSManagedObjectContext z magazynami danych SQLite w trybie dziennika WAL obsługują nową funkcję generowania zapytań, w której konteksty obiektów zarządzanych (MOC) można przypiąć do określonych wersji bazy danych na potrzeby przyszłych transakcji pobierania i błędów.
  • Korzystając z wysokiego poziomu NSPersistenceContainer , aby odwołać NSPersistentStoreCoordinatorsię do , NSManagedObjectModel i innych podstawowych zasobów konfiguracji danych.
  • Dodano kilka nowych metod wygody, aby NSManagedObject ułatwić pobieranie i tworzenie podklas.

Aby uzyskać więcej informacji, zobacz Dokumentację podstawowej struktury danych firmy Apple.

Podstawowe ulepszenia struktury obrazów

Następujące ulepszenia zostały wprowadzone w przewodniku Core Image Framework dla systemu macOS Sierra:

  • Metoda ImageWithExtentklasy CIFilter może służyć do wstawiania niestandardowego przetwarzania do operacji filtrowania. Obraz podstawowy wywoła daną wywołanie zwrotne między filtrami podczas przetwarzania obrazu dla danych wyjściowych lub wyświetlania.
  • Aplikacja może teraz przetwarzać obrazy w przestrzeni kolorów poza obszarem roboczym kontekstu obrazu podstawowego, konwertując i wychodząc z przestrzeni kolorów przed i po przetworzeniu.
  • Jądro Obraz podstawowy może teraz zażądać określonego formatu danych wyjściowych pikseli.
  • Dodano następujące nowe filtry obrazów: CINinePartTitled, , CIEdgePreserveUpsampleFilterCINinePartStretchedCIHueSaturationValueGradienti .CIClamp

Ulepszenia struktury Foundation Framework

Wprowadzono następujące ulepszenia struktury Foundation Framework dla systemu macOS Sierra:

Aby uzyskać więcej informacji, zobacz Informacje o wersji programu Apple Foundation dla systemów OS X w wersji 10.12 i iOS 10.

Ulepszenia struktury GameKit Framework

Wprowadzono następujące ulepszenia w programie GameKit Framework dla systemu macOS Sierra:

  • Aplikacja Game Center została wycofana i usunięta z systemu macOS. Jeśli aplikacja używa zestawu GameKit, musi przedstawić własny interfejs do wyświetlania funkcji zestawu GameKit, takich jak rankingi itp.
  • Nowy typ konta tylko w usłudze iCloud został zaimplementowany przez klasę GKCloudPlayer .
  • Nowa klasa GKGameSession udostępnia uogólnione rozwiązanie do zarządzania trwałym magazynem danych w usłudze Game Center. GKGameSession Utrzymuje listę graczy, a aplikacja jest odpowiedzialna za implementację sposobu i czasu przechowywania daty uczestnika, pobierania lub wymiany między graczami. W wielu przypadkach sesje gier mogą zastąpić istniejące mecze oparte na kolei, mecze w czasie rzeczywistym lub trwałe metody zapisywania gier.

Ulepszenia struktury GamePlayKit

Wprowadzono następujące ulepszenia w programie GamePlayKit Framework dla systemu macOS Sierra:

  • Dodano generowanie szumów proceduralnych i może służyć do zwiększenia realizmu w naturalnych teksturach, dodać realizm do ruchów kamer i pomóc w generowaniu bogatych światów gier.
  • Partycjonowanie przestrzenne umożliwia partycjonowanie danych świata gry w celu wydajnego wyszukiwania.
  • Dodano nowego stratega Monte Carlo (GKMonteCarloStrategist) w celu uzyskania wyczerpujących możliwych obliczeń przenoszenia.
  • Dodano nowy interfejs API drzewa decyzyjnego (GKDecisionTree i GKDecisionNode), aby ulepszyć sztuczną inteligencję tworzenia gier.
  • Obsługa 3D została dodana do istniejących zachowań agenta i znajdowania ścieżek przy użyciu nowych klas GKAgent3D i GKGraphNode3D .
  • Użyj nowej klasy GKMeshGraph , aby zapewnić ścieżki o wysokiej wydajności, naturalnie wyglądające.
  • Nowe klasy GKScene i GKSKNodeComponent ułatwiają łączenie zestawów Rozgrywki i SpriteKit niż kiedykolwiek.

Ulepszenia struktury metalowej

Następujące ulepszenia zostały wprowadzone w systemie Metal Framework dla systemu macOS Sierra:

  • Aplikacje i gry 3D mogą teraz używać tessellation do wydajnego renderowania złożonych scen i geometrii za pośrednictwem procesora GPU.
  • Użyj specjalizacji funkcji, aby utworzyć wysoce zoptymalizowaną kolekcję funkcji kombinacji materiału i światła dla sceny.
  • Zapewnij szczegółową kontrolę nad alokacją zasobów, aby zoptymalizować wydajność aplikacji opartych na systemie Metal przy użyciu sterty zasobów i obiektów docelowych renderowania bez pamięci.

Aby dowiedzieć się więcej, zobacz Podręcznik programowania metalowego firmy Apple.

Ulepszenia struktury we/wy modelu

Wprowadzono następujące ulepszenia dotyczące struktury we/wy modelu dla systemu macOS Sierra:

  • Format pliku USD jest teraz obsługiwany.
  • Użyj nowej MDLMaterialPropertyGraph klasy, aby łatwo obsługiwać zmiany środowiska uruchomieniowego w modelach.
  • Obsługa pola z podpisem została dodana do klasy MDLVoxelArray .
  • Użyj nowej MDLLightProbeIrradianceDataSource klasy, aby pomóc w umieszczaniu sondy światła.

Ulepszenia struktury zdjęć

W programie Photos Framework dla systemu macOS Sierra wprowadzono następujące ulepszenia:

Ulepszenia platformy SceneKit

Wprowadzono następujące ulepszenia platformy SceneKit Framework dla systemu macOS Sierra:

  • Teraz zawiera nowy system renderowania fizycznego (PBR) umożliwiający bardziej realistyczne wyniki z prostszym tworzeniem zasobów.
  • Użyj nowego modelu cieniowania SCNLightingModelPhysicallyBased , aby zapewnić szeroką gamę realistycznych efektów cieniowania, jednocześnie wymagając tylko trzech podstawowych właściwości (Diffusei MetalnessRoughness).
  • Ponieważ cieniowanie PBR działa najlepiej w przypadku oświetlenia opartego na środowisku, użyj LightingEnvironment właściwości , aby przypisać oświetlenie oparte na obrazach do opalania całej sceny.
  • IESProfileURL Użyj właściwości , aby zaimportować rzeczywiste oprawy światła, które definiują oświetlenie oparte na rzeczywistych wartościach, takich jak intensywność (w światłach) i temperatura koloru (w stopniach Kelvin).
  • Klasa SCN Aparat może zapewnić większy realizm przy użyciu funkcji i efektów HDR. Użyj adaptacyjnej ekspozycji, aby tworzyć efekty automatyczne lub używać winietowania, frędowania kolorów i klasyfikacji kolorów, aby dodać efekty filmowe do gry.
  • Funkcje aparatu PBR i HDR zapewniają lepsze wyniki niż tradycyjne techniki renderowania, a w rezultacie zestaw SceneKit wykonuje teraz wszystkie obliczenia kolorów w liniowej przestrzeni kolorów (przy użyciu gamy kolorów P3 na wyświetlaczach urządzenia w szerokim kolorze).
  • Zestaw sceny jest teraz zgodny ze wszystkimi kolorami, odczytując informacje o profilu kolorów.
  • Zestaw SceneKit interpretuje wartości składników kolorów w liniowej przestrzeni kolorów RGB dla wszystkich typów cieniowania.
  • Ponieważ zestaw SceneKit odczytuje i dostosowuje informacje o profilu kolorów na obrazach tekstur, użyj katalogów zasobów dla wszystkich obrazów, aby upewnić się, że te informacje są dostarczane.
  • Renderowanie przestrzeni kolorów liniowych i kolor szeroki można wyłączyć, określając SCNDisableLinearSpaceRendering klucze i SCNDisableWideGamut w aplikacji Info.plist.
  • Utwórz dowolne wielokątne naczelne (ładowane z plików lub generowane programowo), aby określić geometrię przy użyciu nowej klasy SCNGeometryPrimitiveTypePolygon .

Ulepszenia struktury zabezpieczeń

Wprowadzono następujące ulepszenia dotyczące struktury zabezpieczeń dla systemu macOS Sierra:

  • Interfejs SecKey został zmodernizowany i ujednolicony na wszystkich platformach (iOS, tvOS, watchOS i macOS).

Ulepszenia struktury SpriteKit Framework

Wprowadzono następujące ulepszenia struktury SpriteKit Framework dla systemu macOS Sierra:

  • Mapy kafelków obsługują teraz kształty kafelków kwadratowych, sześciokątnych i izometrycznych dla gier 2D, 2,5D i przewijania bocznego SKTileMapModeprzy użyciu klas , SKTileGroupSKTileGroupRule i SKTileSet .
  • Użyj nowej SKWarpGeometry klasy, aby rozciągnąć lub zniekształcić renderowanie SKSpriteNode lub SKEffectNode . Nowa klasa SKAction może służyć do animowania przejść między efektami warp.
  • Niestandardowe cieniowania mogą udostępniać atrybuty (SKAttribute), które można skonfigurować oddzielnie przez każdy węzeł używający cieniowania, podając wartość atrybutu (SKAttributeValue).
  • Klasa SKView udostępnia kilka nowych metod, które zapewniają szczegółową kontrolę nad tym, kiedy i jak scena jest renderowana.

Nowe struktury

Następujące struktury zostały dodane do systemu macOS Sierra:

  • Intents Framework — ta struktura umożliwia aplikacji analizowanie interakcji (takich jak akcje lokalizacji lub użytkownika) i podejmowanie działań na podstawie tych informacji.
  • SafariServices Framework — ta struktura umożliwia aplikacji tworzenie rozszerzeń aplikacji dla przeglądarki Safari (takich jak blokowanie zawartości) zarówno dla systemów macOS, jak i iOS.