Hirdetés

Visszautasított egy MoltenVK-t használó iOS alkalmazást az Apple

A vállalat nem publikus interfészek használatára hivatkozik, ami első hallásra csak kifogásnak tűnik, de jobban belegondolva tényleg lehetnek problémák.

Még az év első felében számoltunk be arról, hogy furcsa módon érkezett meg a Vulkan az Apple platformjaira. A MoltenVK gyakorlatilag a Vulkan API implementációja, ami direkten a Metal 1 vagy 2 API-n fut (amelyik elérhető), vagyis bizonyos értelemben felfogható egyfajta wrapperként is. A rendszer működik, hiszen a Valve korábban már biztosította a Dota 2 MoltenVK-n futó portját, ami lényegesen gyorsabb lett az OpenGL-es verziónál, és ennek a macOS-t használó játékosok bizonyosan örültek. Ráadásul az Apple nemrég bejelentette, hogy nem javasolják az OpenGL-t és az OpenCL-t a platformjaikon, ami lényegében a MoltenVK-ra, vagy a natív Metal támogatásra szűkítette a lehetőségeket.

Elméletben tehát nincs itt gond, de ez csak a látszat, ugyanis a Phoronix úgy tudja, hogy az Apple visszautasított egy MotenVK-t használó iOS alkalmazást, méghozzá nem publikus interfészek használatára hivatkozva. Ez szokás szerint nem váltott ki kedvező reakciót a felhasználókból, és rögtön az Apple piacromboló magatartása került célkeresztbe.

Elméletileg az volt a gond, hogy az érintett alkalmazás nem publikus interfészekhez nyúl az IOSurface keretrendszeren belül, ami hardveres gyorsításhoz használható pufferadatok megosztását biztosítja a futtatott folyamatok között. Ez első hallásra nem tűnik nagy dolognak, de valójában az. A nem publikus interfészek esetében ugyanis fennáll annak a veszélye, hogy az Apple előzetes bejelentés nélkül módosít valamit, amire a gyártói implementációkat mindig fel tudják készíteni. Ugyanakkor a MoltenVK egy nem hivatalos wrapper, az Apple nem rendelkezik semmilyen hatalommal felette, ami egyrészt jó, mert nem tudják piacszerzésre vonatkozó stratégiákhoz felhasználni, másrészt rossz, mivel nem fogják direkten közölni a fejlesztőkkel, ha esetleg ezekben a nem publikus interfészekben változás áll be. Utóbbi pedig az adott alkalmazás működésképtelenségéhez vezethet.

Nat Brown, a Valve szoftvermérnöke úgy gondolja, hogy jelen esetben az alkalmazás visszautasítása jogos lehet, amennyiben az a probléma, hogy "kIOSurfaceIsGlobal=true" flaget használt az IOSurface kreálásakor, ami az iOS-en nem megengedett. A gond alapvetően úgy orvosolható, hogy a MoltenVK-ből kiveszik az IOSurface támogatását, ami elméletben eleve véletlenül került bele.

Nat Brown egyébként megjegyezte, hogy az almás céget jelenleg nem zavarja a MoltenVK, számos Apple-nek és AMD-nek dolgozó szoftvermérnök tett technikai javaslatokat a nagyobb teljesítmény elérése érdekében. Alaptalan tehát kapásból azzal vádolni az Apple-t, hogy csak a Metal API-t szeretné erőltetni, és ennek érdekében mindent bevetnek. Nos, ez a feltevés addig a pontig igaz, hogy a Metal elterjesztése a vállalat célja, de nem bármi áron, bizonyos szempontból a MoltenVK egy hasznos találmány számukra is. Az eddig kialakított szabályozásukhoz viszont jó okkal ragaszkodnak, elvégre senkinek sem kedvezne, ha az egyes, nem publikus interfészek megváltozása után lenne egy rakás nem kompatibilis applikáció az alkalmazásboltjukban.

  • Kapcsolódó cégek:
  • Apple

Azóta történt

Előzmények

Hirdetés