ããçšåºŠã²ãŒã ã宿ããããåäœã®ãã§ãã¯ãè¡ããŸãã
æ£ããåäœããªãéšåã«é¢ããŠã¯èŠã€ã次第修æ£ããããšã§ãããããã²ãŒã ã®è² è·ãé«ããŠç»é¢ãã«ã¯ãã¯å Žåçã§ã¯ããã©ãŒãã³ã¹ãæ¹åãããå¿ èŠããããŸãã
ä»åã¯ãéçºããŠããã²ãŒã ã®ããã©ãŒãã³ã¹ãæ¹åãããæ¹æ³ã«ã€ããŠç޹ä»ããŸãã
ãUnityãã²ãŒã ã®ããã©ãŒãã³ã¹ãæ¹åãããæ¹æ³
ãã§ãã¯ãã€ã³ãã¯ããããããã®ã§ïŒã€ãã€ãã§ãã¯ããŠãããŸãã
â ãã¬ãŒã ã¬ãŒãã®èšå®
ãã¬ãŒã ã¬ãŒãã¯ç»é¢ã1ç§éã«æŽæ°ãããåæ°ã®ããšã§ããã·ã¥ãŒãã£ã³ã°ã²ãŒã ãªã©åããå€ãã²ãŒã ã§ã¯ç¹ã«éèŠã«ãªãé ç®ã§ãã
ç»é¢ãã«ã¯ã«ã¯ããŠãããšæäœæ§ãæªããŠãŒã¶ãŒã«äžå¿«æãäžããŠããŸããŸãã®ã§ãåããæ»ããã«èŠããããã«ãã¬ãŒã ã¬ãŒããé«ãã«èšå®ããã¹ãã§ãã
çŸæç¹ã§FPSã¯ã©ãããããªã®ã
äœãèšå®ããåã«ãçŸç¶ã©ããããFPSãåºãŠããã®ãã¯ã²ãŒã ãå®è¡ããŠã²ãŒã ãã¥ãŒã«ãããStatsãã¿ãã§ç¢ºèªåºæ¥ãŸãã
ããã©ã«ãã®ç¶æ ã§ã¯ãFPSã¯èªå調æŽãããããã«ãªã£ãŠããŸãã

Graphicsã®æšªã«ããå€ã倧äœã®FPSã«ãªããŸãã
ç®æšãšããFPSã®èšå®
äœæããŠããã²ãŒã ã«ãã£ãŠç°ãªããŸãããç®æšãšããFPSã®èšå®ãè¡ããŸãã
ãŸãã¯ããEditãâãProject Settings…ãâãQualityãã«ããVSync CountããDon’t Syncãã«å€æŽããŸãã
ããã©ã«ãã§ã¯åçŽåæããèšå®ã«ãªã£ãŠããŸãããDon’t Syncã«ããããšã§åçŽåæãç¡ãã«ããããšãåºæ¥ãŸãã
ã¡ãªã¿ã«ããEvery Second V Blankãã¯åçŽåæãååã®åšæã§è¡ããŸããäŸãã°ãã¢ãã¿ãŒã®ãªãã¬ãã·ã¥ã¬ãŒããã60Hzãã§ããå Žåããã¬ãŒã ã¬ãŒãã¯30ã«ãªããšããããšã§ãã
Application.targetFrameRate = 60;
}
åŸã¯ã¹ã¯ãªããããç®æšãšãããFPSãèšå®ããã°è¯ãã§ããã
ãã¬ãŒã ã¬ãŒãã®èšå®ã倿Žããå Žåã¯ãã²ãŒã ã®å 容ã«ããããŸããåŠçèœã¡ã«ã€ããŠãé¢ä¿ãæ·±ãã®ã§äžå¯§ã«èª¿ç¯ããããšã倧åã§ãã
åãã®æ»ãããã¯æªããªããã©ãè² è·ãæãããå Žåã«ã¯ãEvery Second V Blankããæå¹ãããããŸãããã
Profilerãå©çšãã
ããã©ãŒãã³ã¹æ å ±ãååŸåºæ¥ãProfilerãéåžžã«äŸ¿å©ãªã®ã§ãã²ãŒã ãå ¬éããåã«ã¯Profilerã䜿ã£ãŠããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ãè¡ããŸãããã
ç¹ã«ã¹ããã²ãŒã¯ãã¹ããã«ãã£ãŠã¹ã ãŒãºã«ãã¬ã€ã§ãããã«ã¯ã«ã¯ã ã£ããå€çš®å€æ§ã§ãã®ã§ãæ¯éããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ãè¡ã£ãŠãããŸãããã
Profilerã䜿ãããšã§ã1ãã¬ãŒã æ¯ã®CPUãã¡ã¢ãªã«å¯Ÿããè² è·ããã§ãã¯ããããšãåºæ¥ãŸãã
ãŸãã¯ããWindowãâãAnalysisãâãProfilerããéžæããŸãã
CPU
ãã®ç¶æ ã§ã²ãŒã ãå®è¡ãããšãã®ããã«èšæž¬çµæã®ã°ã©ãã衚瀺ãããŸãã

å·Šã«ããããã©ã«ãã§Timeineã«ãªã£ãŠããé ç®ããHierarchyãã«åãæ¿ããŸãã
ãããšãã©ã®åŠçã«ã©ãã ãã®æéãããã£ãŠããã®ããç°¡åã«ãã§ãã¯ã§ããŸãã
äžã®ç»åã¯CPUãäŸãšããŠããŸããGPUãã¡ã¢ãªãŒãªã©ä»ã«ãè²ã ãªé ç®ãããã®ã§åé ç®ãã§ãã¯ããŠã¿ãŠãã ããã
ããã«è¡šç€ºãããŠããäžèЧããã§ãã¯ããªãããè² è·ã®åå ãšãªã£ãŠããã¹ã¯ãªãããèŠã€ãåºããŠå¯ŸåŠããŠããäœæ¥ã«ãªããŸãã
åºæ¬çã«Update()ãªã©åžžã«å®è¡ãç¶ããŠããã¡ãœãããªã©ãäžå¿ã«ãã¥ãŒãã³ã°ããŠããã¹ãã§ããããè² è·ã®åå ã«ãªã£ãŠããããšãå€ãã®ã¯ãã¯ãUpdate()ã¡ãœãã絡ã¿ã§ãã
ã¡ã¢ãª
ãã¡ãã¯ã¡ã¢ãªã«é¢ããé ç®ã§ããããªããžã§ã¯ãã®æ°ãå¢ãç¶ããŠããªãã確èªåºæ¥ãã®ã§ãã¡ã¢ãªãªãŒã¯ãæ°ã«ãªãå Žåã¯èŠãã§ãã¯ã§ãã

Rendering
Renderringã§ã¯ããSetPass Callsããšããå€ãäœãããããšã§è² è·ãæããããšãåºæ¥ãŸãã
ããã¯ãCPUããGPUã«æç»ã®ããã®æ å ±ãäŒãããã®ã§ãããããªã¢ã«ã®èšå®å€ãªãããããã§ããã

SetPass Callsãæããã«ã¯ãå ãšåœ±ã®èª¿æŽãè¡ãããåããªããªããžã§ã¯ãã«å¯ŸããŠã¯ãStaticãã«ãã§ãã¯ãå ¥ããããã«ãããšè¯ãã§ãããã
åŸã¯ãã¢ãã©ã¹åãšãã£ãŠè€æ°ã®ç»åã¢ã»ãããïŒã€ã®ãã¡ã€ã«ã«ãŸãšããããšãæå¹ã§ãã
å ãšåœ±ã®èª¿æŽã«ã€ããŠ
ã²ãŒã å ã«ãããåããªããªããžã§ã¯ãã«å¯ŸããŠã¯ãStaticãã«ãã§ãã¯ãå ¥ããŸãã
åºã建ç©ãªã©ã¯ãåããªããªããžã§ã¯ããå€ãã§ãããåããããªã¢ã«ã䜿ã£ããªããžã§ã¯ãã¯é »ç¹ã«ã²ãŒã å ã«ç»å Žããããšãããããã®ã§Staticã«ããŠãããŸãããã
Staticãªãªããžã§ã¯ãã¯ã©ã€ããããã®ãã€ã¯å¯Ÿè±¡ãšãªãããã€ã¯ãããšSetPass Callsãäžããããšãåºæ¥ãŸãã
ãWindowãâãRenderingãâãLightingãã«ãããAuto Generareãã«ãã§ãã¯ãå ¥ããããšã§èªåçã«ãã€ã¯ãããããã«ãªããŸãã

ç»åã¢ã»ããã®ã¢ãã©ã¹å
è€æ°ã®ç»åã¢ã»ããããAtlasããã¡ã€ã«ã«ãŸãšããããšã§SetPass Callsãæããããšãåºæ¥ãŸãã
ç°å¢ã«ãã£ãŠäœãæ¹ãç°ãªãããã§ãããç§ã®äœ¿çšããŠããããŒãžã§ã³ã2020.3.15f2ãã§ã®æ¹æ³ã説æããŸãã
ProjectãŠã£ã³ããŠã§å³ã¯ãªãã¯ããCreateãâã2DãâãSprite Atlasãã§äœæããŸãã
![]()
äœæããAtlasã®ã€ã³ã¹ãã¯ã¿ãèŠããšãç§ã®ããã«ãªã¬ã³ãžæ ã§ãSprite Atlas packing is disabled it in Edit > Project Settings >Editor.ããšè¡šç€ºãããå ŽåããããŸãã
![]()
ãã®ã¡ãã»ãŒãžã衚瀺ããããããEditãâãProject Settings…ãâãEditorãã«ããSprite Packerã®ModeããSprite Atlas V1 – Always Enabledãã«å€æŽããŸãã
åŸã¯ãä»»æã®ç»åãã¡ã€ã«ããObject for Packingãã«è¿œå ããŠãããŸããPack Previewãšãããã¿ã³ãã¯ãªãã¯ããããšã§ã¢ãã©ã¹ç»åãäœæãããŸãã
1ã€ã®Atlasã«ç»é¢ãå ¥ãããããšãã¡ã€ã«ãµã€ãºã倧ãããªãã®ã§ãAtlasãè€æ°çšæããŠã¡ã¢ãªã®å€§å¹ ãªæ¶è²»ãé¿ããããã«ããŸãããã
ãŸãšã
ããã©ãŒãã³ã¹ã®æ¹åæ³ã¯ãä»ã«ã现ããæãäžãããšãŸã ãŸã ãããããããŸãããåå¿è ã®æ¹ã¯ä»å玹ä»ããåºæ¬çãªæ¹åçããé æ¬¡å¯ŸåŠããŠãããšè¯ãã§ãããã
å šãŠã®ãŠãŒã¶ãŒã«å¯ŸããŠå¿«é©ãªã²ãŒã äœãã¯é£ããã§ãããããçšåºŠãŸã§ã¯è² è·ãäžããããšã§å¯Ÿå¿ã§ããã¯ãã§ãã


