æè¿
ãUnityã§ã®WebGLãµããŒãã«é¢ããèšäºãæžããŸãã ã ãã®äžã§ãæ°ããIL2CPPãã¯ãããžãŒã䜿çšããŠWebGLã§ã¹ã¯ãªãããã©ã®ããã«æ©èœãããã«ã€ããŠç°¡åã«èª¬æããŸããã ãã ããIL2CPPã¯WebGLã®æ°ããã¹ã¯ãªããã£ã³ã°ãœãªã¥ãŒã·ã§ã³ãããã¯ããã«å€§ããªãã®ã§ãããå€ãã®ãã©ãããã©ãŒã ã§ãªãªãŒã¹ãããç¬èªã®.Net Runtimeã®é«æ§èœå®è£
ã§ãã
ããããæªæ¥ã«é£ã³èŸŒãåã«ãçŸåšã«ã€ããŠèªã䟡å€ããããŸãã
ä»æ¥ã®Unityã®ã¹ã¯ãªãã
ã¢ã ïŒããã³Windowsã¹ãã¢ãšWindows Phoneã¢ããªã±ãŒã·ã§ã³çšã®
WinRT ïŒã䜿çšããŠãUnityã«CïŒã®äœ¿ããããããµãŒãããŒãã£ã©ã€ãã©ãªãžã®ã¢ã¯ã»ã¹ãå®è³ªçã«ãã€ããªããã©ãŒãã³ã¹ããããããŸãã ããããããã€ãã®å°é£ããããŸãã
-CïŒã©ã³ã¿ã€ã ã®ããã©ãŒãã³ã¹ã¯ãC / C ++ã«ãŸã å£ã£ãŠããŸã
-.Netã©ã³ã¿ã€ã èšèªãšã©ã³ã¿ã€ã ã®ææ°ãã€æé«ã®æ©èœã¯ã
çŸåšUnityã§äœ¿çšãããŠããMonoã®
ããŒãžã§ã³ã§ã¯ãµããŒããããŠããŸãã
-çŽ23ã®ãã©ãããã©ãŒã ãšã¢ãŒããã¯ãã£ãªãã·ã§ã³ã䜿çšãããšãã³ãŒãã転éããåãã¬ãã«ã§å質ãç¶æããããã«å€ãã®åŽåãå¿
èŠã«ãªããŸãã
-ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã¯å®è¡ã®é
延ãåŒãèµ·ããå¯èœæ§ããããŸã
éå»æ°å¹Žéãç§ãã¡ã¯åžžã«ããããã¹ãŠã«å¯ŸåŠããæ¹æ³ã«ã€ããŠèããŠããŸããã åæã«ãWebGLã®ã¹ã¯ãªãããµããŒãã®åéã§ç 究ãé²è¡äžã§ãã äž¡æ¹åã«ç§»åãããšã1ã€ã®ã¢ãããŒãã«çµ±åãããŸããã
åé¡ã®èŠæš¡ãèªèããŠãç§ãã¡ã¯ããã解決ããããŸããŸãªæ¹æ³ã§å®éšãå§ããŸããã ææãªäººãããã°ãããã§ãªã人ãããŸããã ããããæçµçã«ãåé¡ã解決ããé©æ°çãªæ¹æ³ãçºèŠããŸããã
ããã¯IL2CPPã§ãã
IL2CPPïŒç°¡åãªçŽ¹ä»
IL2CPPã¯ã
Ahead of TimeïŒAOTïŒã³ã³ãã€ã©ãŒãš
ä»®æ³ãã·ã³ïŒVMïŒã®2ã€ã®éšåã§æ§æãããŠã
ãŸããããã¯ã.NetãMonoã«äŒŒã
Common Language Infrastructureã®å®è£
ã§ãã Unityã®ã¹ã¯ãªããã®çŸåšã®å®è£
ãšäºææ§ããããŸãã
çŸåšã®å®è£
ãšã®äž»ãªéãã¯ãIL2CPPã³ã³ãã€ã©ã
ã¢ã»ã³ããªãC ++ãœãŒã¹ã³ãŒãã«å€æããããšã§ãã 次ã«ããã©ãããã©ãŒã ã®æšæºC ++ã³ã³ãã€ã©ã䜿çšããŠããã€ãã£ããã€ããªãäœæããŸãã
ã³ãŒãã¯ãIL2CCP VMãæäŸããè¿œå ãµãŒãã¹ïŒã¬ããŒãžã³ã¬ã¯ã¿ãŒãã¡ã¿ããŒã¿ããã©ãããã©ãŒã åºæã®ãªãœãŒã¹ãªã©ïŒãšåæã«å®è¡ãããŸãã
IL2CPPã®å©ç¹
äžèšã®åå°é£ãšãIL2CPPããããã©ã®ããã«åŠçããããèŠãŠã¿ãŸãããã
æ§èœ
IL2CPPã§ã¯ã䜿ãããããšã³ãŒãã£ã³ã°é床ãC ++ããã©ãŒãã³ã¹ãšçµã¿åãããããšãç®æããŠããŸãã
ããã«ãããçŸåšã®ã¹ã¯ãªããããã»ã¹ã®é床ãç¶æããçç£æ§ãå³åº§ã«åäžãããããšãã§ããŸãã è€éãªã¹ã¯ãªããã䜿çšããäžéšã®ãã¹ãã§ã¯ãå®è¡é床ã2ã3åã«åäžããŸããã ãã®ããã©ãŒãã³ã¹ã®åäžã¯ãããã€ãã®çç±ã§çºçããŸãã
-C ++ã³ã³ãã€ã©ãšãªã³ã«ãŒã¯ã以åã¯ã¢ã¯ã»ã¹ã§ããªãã£ãå€æ°ã®æé©åæ¹æ³ãæäŸããŸãã
-ã³ãŒãã¯ãé床ãšãµã€ãºã®äž¡æ¹ã«ã€ããŠéçåæã®å¯Ÿè±¡ãšãªããŸã
-Unityæåã®ã¹ã¯ãªããã©ã³ã¿ã€ã ã®æé©å
IL2CPPã®äœæ¥ã¯ãŸã å®äºããŠããŸãããããã®çç£æ§ã®æ©æã®åäžã¯ããããžã§ã¯ãã®çŽ æŽãããå°æ¥ãæ確ã«ç€ºããŠããŸãã
.NetãæŽæ°ãã
ã©ã³ã¿ã€ã ãæŽæ°ãããªã¯ãšã¹ããéåžžã«é »ç¹ã«åãåããŸãã è¿å¹Žã.Netã¯éåžžã«æ¥éã«é²åããŠãããUnityã¯çŸåšãCïŒã³ã³ãã€ã©ãšãµãŒãããŒãã£ã©ã€ãã©ãªã®äž¡æ¹ã§.NET 2.0 / 3.5æ代ã®æ©èœã®ã¿ããµããŒãããŠããŸãã å€ãã®ãŠãŒã¶ãŒããã³ãŒããšãµãŒãããŒãã£ã©ã€ãã©ãªã®äž¡æ¹ã®æ°æ©èœãžã®ã¢ã¯ã»ã¹ããªã¯ãšã¹ãããŠããŸãã
IL2CPPãå€ããªããšãMono CïŒã³ã³ãã€ã©ãããŒã¹ã¯ã©ã¹ã©ã€ãã©ãªãããã³ãšãã£ã¿ãŒã®ã©ã³ã¿ã€ã ã®ããŒãžã§ã³ãæŽæ°ããŸãïŒã¹ã¯ãªããéçºã®é床ãç¶æããããããšãã£ã¿ãŒã¯IL2CPPã«å€æãããŸããïŒã ããã2ã€ã®ããã»ã¹ã®çµã¿åããã«ãããææ°ããŒãžã§ã³ã®.NetãUnityã«å°å
¥ãããŸãã
ãã€ã¯ããœãããš
ååããŠå質ãšå®å®æ§ãä¿èšŒããçŸåšããã³å°æ¥ã®.Netæ©èœãUnityã«è¿œå ããŠããããšã¯æ³šç®ã«å€ããŸãã
移æ€æ§ãšãµããŒã
ããã¯Unityã®å
éšåé¡ã®ããã«æãããããããŸããããããªãã«ãé¢ä¿ããŠããŸãã Monoä»®æ³ãã·ã³ã«ã¯ãç¹å®ã®ãã©ãããã©ãŒã ãšã¢ãŒããã¯ãã£ã«åºæã®å€§éã®ã³ãŒããå«ãŸããŠããŸãã Unityãæ°ãããã©ãããã©ãŒã ã«ç§»æ€ãããšãããã®ãã©ãããã©ãŒã ã®Mono VMã®ç§»æ€ãšãµããŒãã«å€å€§ãªåŽåãè²»ãããŸãã äžéšã®æ©èœïŒããã³ãšã©ãŒïŒã¯ãç¹å®ã®ãã©ãããã©ãŒã ã«ã®ã¿ååšããå ŽåããããŸãã ããã¯ãUnityãæäŸããããšããŠããå€ãã€ãŸããã©ãããã©ãŒã éã§ã®ã³ã³ãã³ãã®è»¢éã®ããããã«åœ±é¿ããŸãã
IL2CPPã¯ããã®åé¡ãããã€ãã®æ¹æ³ã§è§£æ±ºããŸãã
-ã³ãŒãã¯C ++ã«å€æããããã®ã¢ãŒããã¯ãã£åºæã®ãã·ã³åºæã®ã³ãŒãã§ã¯ãããŸããã ç¹å®ã®ã¢ãŒããã¯ãã£ããšã«ã³ãŒãçæã移æ€ããã³ãµããŒãããã³ã¹ãã倧å¹
ã«åæžãããŸã
-æ°æ©èœãšãã°ä¿®æ£ã®éçºã¯èããå éãããŠããŸãã ç§ãã¡ã«ãšã£ãŠãã¢ãŒããã¯ãã£åºæã®ã³ãŒããéžæããæ°æ¥ã¯ãC ++ãç·šéããæ°åã«çœ®ãæããããŸãã æ°ããæ©èœãšãã°ä¿®æ£ã¯ããã¹ãŠã®ãã©ãããã©ãŒã ã§ããã«å©çšã§ããŸãã IL2CPPã®çŸåšã®ããŒãžã§ã³ã¯ãéåžžã«è¿
éã«æ°ãããã©ãããã©ãŒã ã«ç§»è¡ããŠããŸãã
ããã«å ããŠããã©ãããã©ãŒã åºæãŸãã¯ã¢ãŒããã¯ãã£åºæã®ã³ã³ãã€ã©ã¯éåžžãåäžã®ã³ãŒããžã§ãã¬ãŒã¿ãããã¯ããã«æé©åãããŠããŸãã ããã«ãããC ++ã³ã³ãã€ã©ã®éçºã«è²»ããããã¹ãŠã®åªåãã瀟å
ã§åçºæããããšãªãåå©çšã§ããŸãã
ãã¿åé
IL2CPPã¯ãç¹å®ã®ã¬ããŒãžã³ã¬ã¯ã¿ãŒã«é¢é£ä»ããããŠããã®ã§ã¯ãªããç¹å¥ãªAPIãä»ããŠããããæ¥ç¶ããŸãã IL2CPPã®çŸåšã®ããŒãžã§ã³ã§ã¯ãããŸããŸãªãªãã·ã§ã³ãæ€èšããŠããŸãããæ¹è¯çã®
libgcã䜿çšããŠããŸãã åæã«ãIL2CPPã³ã³ãã€ã©ã§å®è¡ãããåæã䜿çšããŠãGCããã®å§åãæžããå¯èœæ§ã調æ»ããŠããŸãã
çŸæç¹ã§ã¯ãã以äžèšãããšã¯ãããŸããããç 究ã¯é²è¡äžã§ãã ããã¯ããªãã«ãšã£ãŠéèŠã§ããããšãããã£ãŠããã®ã§ãåŒãç¶ãäœæ¥ãç¶ããä»åŸã®ãšã³ããªã§ãç¥ããããŸãã ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã®ã³ã³ããã¹ãã§ã¯ãIL2CPPã«é¢ä¿ãªããUnity 5ã§ã¯å²ãåœãŠã®ãªãAPIãã¯ããã«å€ã衚瀺ãããããšã«æ³šæããŠãã ããã
IL2CPPã§ã¯ãªããã®
IL2CPPã¯ã.NetãŸãã¯Monoç°å¢å
šäœãåäœæããè©Šã¿ã§ã¯ãããŸããã
Monoã®CïŒã³ã³ãã€ã©ãåŒãç¶ã䜿çšããŸãïŒå°æ¥çã«ã¯
Roslynãå¯èœã§ãïŒã åŒãç¶ãMonoã¯ã©ã¹ã©ã€ãã©ãªã䜿çšããŸãã Mono AOTãšäºææ§ã®ããçŸåšå©çšå¯èœãªãã¹ãŠã®æ©èœãšãµãŒãããŒãã£ã©ã€ãã©ãªã¯ãIL2CPPã§åäœããŸãã Mono VMãšAOTã³ã³ãã€ã©ã®ã¿ã眮ãæãã
ãã°ãããMonoãããžã§ã¯ããåŒãç¶ã䜿çšã
ãŸããIL2CPPã¯ãã€è©ŠããŸããïŒ
ãã®ç¬éãŸã§ã«ãIL2CPPãè©ŠããŠã¿ãæ©äŒãç§ãã¡ãšåããããããªããè奮ãããããªããçåã«æã£ãŠããããšãé¡ã£ãŠããŸãã IL2CPPã®åæããŒãžã§ã³ã¯ãUnity 5ã®WebGLãµããŒãã®äžéšã«ãªããŸãã
WebGLã«ç¶ããä»ã®ãã©ãããã©ãŒã åãã«IL2CPPã®éçºãç¶ããŸãã å®éããµããŒãããŠããå€ãã®ãã©ãããã©ãŒã ã®å®è£
ãæ¢ã«ãããŸãã ä»å¹Žã¯å°ãªããšããã1ã€ã®ãã©ãããã©ãŒã ããªãªãŒã¹ããäºå®ã§ãã çŸæç¹ã§ã¯ãiOSãIL2CPPããµããŒããã次ã®ãã©ãããã©ãŒã ã«ããäºå®ã§ãã
Monoç°å¢ã®èšç»çãªã¢ããã°ã¬ãŒãã¯ãIL2CPPãããå€ãã®ãã©ãããã©ãŒã ã§ãµããŒããããå°ãå€ããªã£ãåŸã«è¡ãããŸãã
ã»ãã¥ãªãã£äžã®å¶éã«ãããIL2CPPããµããŒãããªããã©ãããã©ãŒã ã¯WebPlayerã®ã¿ã§ãã åè¿°ã®ããã«ããšãã£ã¿ãŒã¯åŒãç¶ãMonoã§åäœããŸãã
IL2CPPã©ã³ã¿ã€ã ã®åäœãä»ãã確èªã§ããŸãã
以åã«æçš¿ãã2ã€ã®WebGLãã¢ã¯ ãããã«é¢ããäœæ¥ã§ãã
次ã¯ïŒ
IL2CPPã«ã¯åŒãç¶ãåãçµã¿ãŸãïŒæ°æ©èœã®è¿œå ãã³ãŒãçæã®æé©åããã°ã®ä¿®æ£ãæ°ãããã©ãããã©ãŒã ã®ãµããŒãã®è¿œå ã äœæ¥ãé²ãã«ã€ããŠããã詳现ãªèšäºãå
¬éãã
ãã©ãŒã©ã ã§åŒãç¶ãè°è«ã
ãŸããUnityã¹ã¯ãªããããŒã ã
éçºè
ã®åçããè±èªã®ã³ã¡ã³ãã®è³ªåãžã®å°ããªè¿œå ãšUnityãã©ãŒã©ã ã®ç¹å¥ãªããã㯠ïŒãä»®æ³ãã·ã³ããšããçšèªã¯ãå°ã誀解ãæãå¯èœæ§ããããŸãã å®éãå®éã®ä»®æ³ãã·ã³ã¯ååšããããã¹ãŠããã€ããªã³ãŒãã«ãªããŸãããå®è¡æã«å©çšå¯èœãªå€ãã®æ©èœãããããã®å Žåã¯ä»®æ³ãã·ã³ãšåŒã°ããã·ã¹ãã ãµãŒãã¹ãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãªã©ããããŒãžã³ãŒãã«å¿
èŠãªæ©èœãå®è£
ããŸãã
***
C ++ã§ã¹ã¯ãªãããèšè¿°ããããšã¯ãIL2CPPã®å
¬åŒã®ç®æšã§ã¯ãªããè¿ãå°æ¥ããã®çš®ã®æ±ºå®ã¯è¡ãããŸãããã決å®ã®å¯äœçšãšããŠå°æ¥çºçããå¯èœæ§ããããŸãã
***
ãœãŒã¹ã³ãŒãã¯ãåæ§ã®æ©äŒã«ã€ããŠé·ãéè°è«ããŠããããŸã åæ§ã®æ±ºå®ãäžããŸã§ãå
¬éãããŸããã ãœãŒã¹ãå
¬éããããšã«ã¯ãç§ãã¡ã«ãšã£ãŠã®å©ç¹ãšæ¬ ç¹ã®äž¡æ¹ãããã®ã§ããã®ãããªé倧ãªæ±ºå®ãäžãååãªçç±ããªããã°ãªããŸããã
***
åçã³ãŒãçæã®
å¶éã¯ãMono AoTã®
å¶éãšå®å
šã«é¡äŒŒããŠãããäºææ§ã®ããã³ãŒãã¯IL2CPPã§åäœããŸãã ãªãã¬ã¯ã·ã§ã³ã¯æ©èœããŸãã System.Reflection.Emitã®ãããªãã®ã¯ãããŸããã å®è¡æã«åçãªã³ãŒãçæã¯ãããŸããã
***
iOSã¯AoTããã§ã«äœ¿çšãããŠãããããæåã®IL2CPP察å¿ãã©ãããã©ãŒã ã«ãªãã移è¡ãããã¹ã ãŒãºã«ãªããŸãã ãã®åŸãPCãMacãLinuxãªã©ã®ä»ã®ãã©ãããã©ãŒã ããµããŒããããŸãã
***
AoTããã³LGPLã®å¶éã«ãããiOSã§Monoã䜿çšããããšã¯ã§ããŸãããããã«ããããšãã£ã¿ãŒãä»ã®ãã©ãããã©ãŒã ã®MonoãæŽæ°ã§ããªããªããŸãã
***
ç§ã¯åŒè·å£«ã§ã¯ãããŸããã ééããªãåŒè·å£«ã§ã¯ãããŸããã ããããMonoãšLGPLã«é¢é£ããæ³çå¶éã«ã€ããŠã¯ã次ã®ããã«èšããŸãã åé¡ã¯ã¬ã€ã¢ãŠãã«ãããŸããããŠãŒã¶ãŒã«è¿œå ã®ããŒã¿ïŒãªããžã§ã¯ããã¡ã€ã«ïŒãæäŸããããšã§ã¬ã€ã¢ãŠããäœæã§ããŸãã åé¡ã¯ãå¶éãUnityã§ã²ãŒã ãã¢ããªã±ãŒã·ã§ã³ãäœæãããã¹ãŠã®ã客æ§ã«åœ±é¿ããããšã§ãã LGPLããã¹ãŠã®é¡§å®¢ã«ãªããžã§ã¯ããã¡ã€ã«ãæäŸããããšãäœåãªããããŸãã ç¹°ãè¿ããŸãããç§ã¯åŒè·å£«ã§ã¯ãªãããšã«æ³šæããŠãã ãããããã¯Unityã®å
¬åŒãªç«å Žã§ã¯ãªããããã°ã©ããŒãªã©ã®ç¶æ³ã«å¯Ÿããç§ã®ç解ãåæ ããŠããã ãã§ãã
***
Monoã§ã¯ãæ°ãããã©ãããã©ãŒã ããšã«å°é家ã®ããŒã ãç¶æããå¿
èŠããããŸããã Monoããã®ãã©ãããã©ãŒã ããµããŒãããŠããªãå Žåãå®éã«ã¯åãã©ãããã©ãŒã çšã«ç¬èªã®JITããŒã«ããŒãããäœæããå¿
èŠããããããèšå€§ãªäœæ¥ãè¡ãå¿
èŠããããŸããã äžéšã®ãã©ãããã©ãŒã ã§ã¯ãMonoãä»ã®ãã¹ãŠã®äœæ¥ã®3åã®é»åã転éããããšã«è²»ãããŸããã IL2CPPã䜿çšãããšãJITããŒã«ãäœæãã代ããã«ãæ¢åã®C ++ã³ã³ãã€ã©ãç°¡åã«äœ¿çšã§ããŸãã
***
ç§ã¯9幎éMonoã«åãçµãã§ããŸããããMonoãšãã®ãã©ãããã©ãŒã ã®äž¡æ¹ã®æ¬åœã®å°é家ãMonoãæ°ãããã©ãããã©ãŒã ã«ç§»ãã®ã«çŽ1幎ããããšèªä¿¡ãæã£ãŠèšããŸããå®è£
ãå¿
èŠãšãããã¹ãŠã®æ©èœãè¿œå ãããã®ãã©ãããã©ãŒã ã«åºæã æ°ããæè¡ãã©ãããã©ãŒã ã®å°é家ãã©ãã»ã©åãã§ããããèšèã§èª¬æããããšã¯å°é£ã§ãã 圌ãã¯ãC ++ã§ã¢ã»ã³ããªã³ãŒããçæããããã°ãããã³ä¿å®ããæš©å©ãšåŒãæãã«ãªããŸãã ããŒãã«ã¯ã移æ€ã«ã¯æ°ãæãæ°å¹Žã§ã¯ãªãæ°æ¥ãããããšãèšèŒãããŠããã¯ãã§ãã å€ãã®äººããã®æ¹åã«åããŠããããã«æããŸãã Microsoftã.Net Nativeãçºè¡šããåã«äœæ¥ãéå§ããŸããããããã¯éžæããæŠç¥ã®æ£ç¢ºæ§ã確èªããã ãã§ãã å®è¡æã«å°ãå¶éãããå¯èœæ§ïŒåççæãªãïŒããããšãå€ãã®å©ç¹ãåŸãããŸãã ã¹ã¿ã³ãã¢ãã³PCã¢ããªã±ãŒã·ã§ã³ã«ããã匷å¶çã«äœ¿çšããããšã¯ãããŸããã IL2CPPãAoTãã©ãããã©ãŒã ã§ååã«å®å®ãããšããã«ãMonoã®æŽæ°ããŒãžã§ã³ãšãšãã£ã¿ãŒãæäŸãããŸãã IL2CPPã®äž»ãªç®æšã¯ãAoTãæ¬åœã«çã«ããªã£ãŠãããã©ââãããã©ãŒã ã§ãã
***
éåžžãã¹ã¯ãªããã¯ããã©ãŒãã³ã¹ã®ããã«ããã¯ã§ã¯ãªããéåžžãã¹ã¯ãªãããæ£ãããªãå Žåãåé¡ãããå Žåã«åé¡ãçºçããããšãç解ããŠããŸãã CïŒã¡ãœããã®å®è¡ãé
ãããªããšããäžæºã¯ãŸã ãããŸããã ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã¯å¥ã®äŒè©±ã§ãåŸã§äœ¿çšããŸãã ãããã人ã
ã¯ããã©ãŒãã³ã¹ã«ã€ããŠè°è«ããã®ã奜ãã§ãã IL2CPPã¯ãå€ãã®å Žåã以åã¯éããããšèŠãªãããC ++ã§å®è¡ãããŠãããã®ã«å¯ŸããŠã¹ã¯ãªãããææ矩ã«äœ¿çšããããã«æãããŸãã AIãç©çåŠãããã³ãã®ãããªãã®ã¯ããã¹ãŠã®ã»ãšãã©ãå éããæ°ãããèå³æ·±ãå¯èœæ§ã衚瀺ãããŸãã
å人çã«ãç§ã¯ããã«æ¬¡ã®æé©åãæãåºãããšãã§ããŸã
-é
åã®å¢çã®ç¢ºèªãæåŠ
-äŸå€ã®ãµããŒãã®æé€ïŒãããããã®è² è·ã¯ãã©ãããã©ãŒã ã«ãã£ãŠç°ãªããŸãïŒ
-ã€ã³ã¹ã¿ã³ã¹ãäœæããããéçã¡ãœãã/ããããã£ã«ã¢ã¯ã»ã¹ããããããã³ã«ãéçåæåãåé€ããéçã³ã³ã¹ãã©ã¯ã¿ãŒã䜿çšããŠãã¹ãŠã®ã¿ã€ãã§å®è¡ãããããšã確èªããå¿
èŠããããŸã
-SIMDãµããŒã
-ãã€ããªã³ãŒããšãããŒãžã³ãŒãéã®çžäºäœçšã®æé©åã ç§ãã¡ã¯æ倧éã«ãããå®çŸããããšããŸãããè¿œå ã®å¶éã«èªçºçã«åæããããšã§ããã匷åããæ©äŒãäžããå¯èœæ§ãé«ãã§ã
ããã¯ãã¹ãŠãç§ãä»èŠããŠãããã®ã®ã©ã³ãã ãªãªã¹ãã§ãã åŸã§ããã詳现ãªæ
å ±ãå
¬éããŸãã
***
Unityã¯ãã²ãŒã ã®MODãäœæããæ©èœããµããŒãããŠããããããããäœæããæ©èœããµããŒãããŠããŸããã ããã§ãè¿œå ã®.Net dllããmodãããŒãã§ãããµãŒãããŒãã£ã®ãœãªã¥ãŒã·ã§ã³ãã§ããŸããïŒãã ãããããã¯ãã®æ¹æ³ã§ã¯å®è¡ã§ããŸããïŒã ããããIL2CPPã§ã¯ãããã§ããŸããã
Mac / Linux / Windowsããã³ãšãã£ã¿ãŒã§ã¯ãéåžžã«é·ãéãMonoããªãã·ã§ã³ã®1ã€ãšããŠãµããŒããããã°ããããŠããæ°ããããŒãžã§ã³ã«æŽæ°ããŸãã ãããã£ãŠããããã®ãã©ãããã©ãŒã çšã«mod察å¿ã®ã²ãŒã ãäœæããŠããå Žåã¯ãåŒãç¶ãMonoã䜿çšã§ããŸãã åé¡ãããŸããã Mac / Linux / Winã®ã¯ãã¹ãããªãã·ã³ã°ãåŒãç¶ãå€æŽãããŸããã
iOSãUnityã³ã³ãœãŒã«ãªã©ã®ä»ã®ãã©ãããã©ãŒã ã§ã¯ãUnityã¯ãã§ã«Mono AoTã䜿çšããŠãããããdllã®ããŒãã¯ãã§ã«äžå¯èœã§ããããã©ãããã©ãŒã èªäœã®å¶éã«ããäžå¯èœã«ãªããŸãã ããã§ã¯äœã倱ãããŸããã