iOS ã¢ããªéçºã®ã³ã³ããã¹ãã§ã¯ãMetal ã¯ãéçºè ã GPU ãå«ãææ°ã® Apple ããŒããŠã§ã¢ã®å¯èœæ§ãæå€§éã«æŽ»çšã§ããããã«ãããéçºè åãã®é«æ§èœãäœã¬ãã«ã®ã°ã©ãã£ãã¯ã¹ããã³äžŠåèšç®ãã¬ãŒã ã¯ãŒã¯ã§ããããã¯ãéçºè ã GPU ããŒããŠã§ã¢ã«èããè¿ã¥ãããšãå¯èœã«ãããåçåãããå¹çç㪠API ãæäŸããŸãã 2014 幎㫠Apple ã«ãã£ãŠå°å ¥ããã Metal ãã¬ãŒã ã¯ãŒã¯ã¯ãåœå iOS ããã€ã¹ã察象ãšããŠããŸããããåŸã« macOSãwatchOSãããã³ tvOS ããã€ã¹ã«ãµããŒããæ¡å€§ããŸããã Metal ã®ç»æçãªãã¬ãŒã ã¯ãŒã¯ã¯ã2D ããã³ 3D ã²ãŒã ãèŠèŠåã¢ããªã±ãŒã·ã§ã³ããã®ä»ã®ããã©ãŒãã³ã¹éèŠã®ãœãããŠã§ã¢ã«é»åå¹çã®é«ãé«å質ã®ã°ã©ãã£ã㯠ã¬ã³ããªã³ã°ãæäŸããããšã§ãéçºè ãšãšã³ã ãŠãŒã¶ãŒã®äž¡æ¹ã«å©çããããããŸãã
Metal ã¯ãããããžãã¢ã¹ ã³ã³ãã¥ãŒãã£ã³ã°ãšããŠç¥ãããæŠå¿µã§ãã CPU ãš GPU ã®èšç®èœåãçµã¿åãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãããã«å éããŸãã Metal ã®äž»ãªåŒ·ã¿ã¯ãªãŒããŒããããäœãããšã§ãããã¯ãŒã¯ããŒãã GPU ã«è»¢éããåã« CPU ãå®è¡ããå¿ èŠãããäœæ¥éãåæžããŸãããã®çµæãMetal ã¯ãã¬ã³ããªã³ã°ãåŠçã䞊ååŠçã®é²æ©ã«ããããã¹ãŠã® Apple ãã©ãããã©ãŒã ã«ããã£ãŠé«åºŠã«æé©åãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãšå¿çæ§ãå®çŸããŸãã
Metal ã®ããã©ãŒãã³ã¹ã«ããã倧ããªé²æ©ã¯ããã©ã€ããŒã®ãªãŒããŒãããã®å¹æçãªåæžã«ãã£ãŠããããããŸããåŸæ¥ã® OpenGL ããã³ OpenGL ES ãã¯ãããžãŒã§ã¯ããã©ã€ããŒã®å€§éã®ãªãŒããŒããããæœåšçãªããã«ããã¯ãçã¿åºããã°ã©ãã£ãã¯ã¹ãå€çšããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãäœäžãããŸãã Metal ã¯ãã®åé¡ã«æ£é¢ããåãçµã¿ãéçºè ã®ã³ââãŒããš GPU ã®éã«ããŒãã€ã㪠ã€ã³ã¿ãŒãã§ã€ã¹ãçŽæ¥æäŸããŸãããã®æé©åãããã¢ãŒããã¯ãã£ãéããŠãMetal ã¯ã¢ããªã±ãŒã·ã§ã³ã®å¿çæ§ã匷åããGPU ãªãœãŒã¹ã®ã¹ããŒããªå²ãåœãŠãå¯èœã«ããã°ã©ãã£ãã¯ã¹ããã³ã³ã³ãã¥ãŒãã£ã³ã°ããŒã¹ã®æäœãæå€§åããŸãã
AppMasterã§ã¯ãã客æ§ã®ã¢ããªã±ãŒã·ã§ã³ã«é«å質ã§å¹ççãªã°ã©ãã£ãã¯ã¹ ã¬ã³ããªã³ã°ãæäŸãããšãã Metal ã®å¯èœæ§ãèªèããŠããŸãã Metal ãæäŸããå©ç¹ãæå€§éã«æŽ»çšããããã«ãAndroid ã§ã¯ Kotlin ãšJetpack Compose ãiOS ã§ã¯SwiftUIã«åºã¥ããŠæ§ç¯ãããAppMasterã®åŒ·åãªãµãŒããŒé§åãã¬ãŒã ã¯ãŒã¯ã«ãããã客æ§ã¯ã·ãŒã ã¬ã¹ã§ããã©ãŒãã³ã¹éèŠã®ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãæäŸã§ããŸãã Metal ã®æ©èœã掻çšããããšã§ã AppMasterããã©ãŒãã³ã¹ãæãªãããšãªããèŠãç®ã«çŸããã¢ããªã±ãŒã·ã§ã³ãçæã§ããŸãã
iOS ã¢ããªéçºã«å¯Ÿå¿ãã Metal ã®æ³šç®ãã¹ãæ©èœã«ã¯æ¬¡ã®ãã®ããããŸãã
1. çµ±åã°ã©ãã£ãã¯ã¹ãšã³ã³ãã¥ãŒãã£ã³ã° ã·ã§ãŒãã£ã³ã°èšèª: Metal Shading Language (MSL) ã¯ãC++11 ããŒã¹ã®åäžãœãŒã¹èšèªã§ãã°ã©ãã£ãã¯ã¹ãšã³ã³ãã¥ãŒãã£ã³ã° ã¯ãŒã¯ããŒãã®äž¡æ¹ã®ã·ã§ãŒããŒãäœæããããã®ãããããã广çãªæ¹æ³ãæäŸããŸãããã®çµ±åãããã¢ãããŒãã«ãããéçºããã»ã¹ãç°¡çŽ åããã髿§èœã¢ããªã±ãŒã·ã§ã³äœæã®è€éãã軜æžãããŸãã
2. å¹ççãªãã«ãã¹ã¬ãã: Metal ã® API ã䜿çšãããšãã¢ããªéçºè ã¯è€æ°ã®ã³ãã³ã ãããã¡ãŒãäœæããã³ç®¡çã§ãããã¥ãŒå ã®ç¬ç«ããã¿ã¹ã¯ãšããŠå®è¡ã®ããã«éä¿¡ã§ããŸãããã®å¹ççãªãã«ãã¹ã¬ããã«ãããGPU ãæå€§éã«æŽ»çšãããããšãä¿èšŒãããŸãã
3. GPU äž»å°ã®ã¬ã³ããªã³ã°: Metal ã䜿çšãããšãéçºè ã¯ã¬ã³ããªã³ã° ã¿ã¹ã¯ã«å¯Ÿãããã现ããå¶åŸ¡ãå®è£ ã§ããŸãã鿥ã³ãã³ã ãããã¡ãŒ (ICB) ãšããŠç¥ããããã®æ©èœã«ãããGPU ãã¬ã³ããªã³ã° ããã»ã¹ãå¶åŸ¡ã§ããããã«ãªããCPU ãªãŒããŒããããåæžãããã¢ããªã±ãŒã·ã§ã³å šäœã®ããã©ãŒãã³ã¹ãåäžããŸãã
4. ãã现ãããªãœãŒã¹ç®¡ç: Metal ã¯ãã¡ã¢ãª ãªãœãŒã¹ã管çããããã«ãªãœãŒã¹ ããŒããšãã§ã³ã¹ãšåŒã°ããæ°ããã¢ãããŒããå°å ¥ããéçºè ãã¡ã¢ãªå²ãåœãŠãšãªãœãŒã¹ç®¡çãæ£ç¢ºã«å¶åŸ¡ã§ããããã«ããŸãããããã®ã¡ã«ããºã ãéããŠãéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã¢ãªãšããã©ãŒãã³ã¹ãããé©åã«æé©åã§ããŸãã
5. Adaptive Scalable Texture Compression (ASTC): ASTC ã¯ããã€ã€ãªãã£ããªãŒã§å¹ åºãå質ãšãããã¬ãŒãã®ãªãã·ã§ã³ãæäŸããé«åºŠãªãããã¯ããŒã¹ã®ãã¯ã¹ãã£å§çž®æè¡ã§ãã Metal 㯠ASTC ãå®å šã«ãµããŒãããŠãããã¢ããªã±ãŒã·ã§ã³ã®ã¡ã¢ãªæ¶è²»éã®åæžããšãã«ã®ãŒå¹çãããã³ãã¯ã¹ãã£å質ã®åäžã«ã€ãªãããŸãã
Metal ã¢ããªå éçºã«ãããéçºè 㯠Apple ããŒããŠã§ã¢ã®èœåãæå€§éã«æŽ»çšããã¢ããªã±ãŒã·ã§ã³ãããŸããŸãª Apple ãã©ãããã©ãŒã äžã§æé©ã«åäœããããšãä¿èšŒããŸãã Metal ãAppMasterno-codeãã©ãããã©ãŒã ã«çµã¿èŸŒãããšã§ãã客æ§ãèŠèŠçã«é åçã§é«éãæé«å質ã®ã¢ããªã±ãŒã·ã§ã³ãäœæã§ããããã«ãªããŸããçµæãšããŠåŸãããã¢ããªã±ãŒã·ã§ã³ã¯ãããé åçã§ããã ãã§ãªããä¿¡é Œæ§ãé«ãããšã³ã¿ãŒãã©ã€ãºãé«è² è·ã®ãŠãŒã¹ã±ãŒã¹ã§ããèŠãããé«ããã©ãŒãã³ã¹ã®èŠæ±ãéãã¯ãŒã¯ããŒãã«ããã«å¯Ÿå¿ã§ããŸãã
AppMasterã®ç¬èªã«èšèšããããã©ãããã©ãŒã ãš Metal ã®å ç¢ãªæ©èœã«ãããéçºè ã¯äž¡æ¹ã®ãã¬ãŒã ã¯ãŒã¯ã®å¹çæ§ãçµã¿åãããã¢ããªã±ãŒã·ã§ã³ãäœæããæçµçã«å šäœçãªã¢ããªã±ãŒã·ã§ã³éçºãšã¯ã¹ããªãšã³ã¹ãåäžããããœãããŠã§ã¢éçºã®ããé«éã§ã³ã¹ãå¹çã®é«ãå¹ççãªæªæ¥ã«åããŠã·ãŒã ã¬ã¹ã«åé²ã§ããŸãã ã