Firefox Quantumã®ãªãªãŒã¹ãŸã§ã®æ®ãæéãå°ãªããªããŸããã Servoããåãã
è¶
é«éCSSãšã³ãžã³ãå«ããå€ãã®ããã©ãŒãã³ã¹ã®æ¹åãããããããŸãã
ããããServoãã¯ãããžãŒã«ã¯ãã1ã€ã®å€§ããªéšåããããFirefox Quantumã«ã¯ãŸã å«ãŸããŠããŸãããããŸããªãç»å ŽããŸãã ããã¯Quantum Renderãããžã§ã¯ãã®äžéšã§ããWebRenderã§ãã
WebRenderã¯ã䞊å€ããé床ã§ç¥ãããŠããŸãã ããããäž»ãªã¿ã¹ã¯ã¯ã¬ã³ããªã³ã°ã®é床ãäžããããšã§ã¯ãªããã¬ã³ããªã³ã°ãããã¹ã ãŒãºã«ããããšã§ãã
WebRenderãéçºããéããã£ã¹ãã¬ã€ã®ãµã€ãºãã¢ãã¡ãŒã·ã§ã³ã®ãµã€ãºã«é¢ä¿ãªãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã60ãã¬ãŒã /ç§ïŒFPSïŒä»¥äžã§å®è¡ãããããã«ç®æšãèšå®ããŸãã ãããŠããã¯åããã
WebRenderã®èµ·åæã« ãChromeã§15 FPSã§ããããããŒãžãŸãã¯çŸåšã®Firefox
ã§60 FPSã§é£ã¶ããŒãžã
WebRenderã¯ã©ã®ããã«ãããè¡ããŸããïŒ ããã«ãããã¬ã³ããªã³ã°ãšã³ãžã³ã®åçãæ ¹æ¬çã«å€ããã3Dã²ãŒã ãšã³ãžã³ã®ããã«ãªããŸãã
ãããäœãæå³ããããç解ããŸãããã ããããæåã«...
ã¬ã³ãã©ãŒã¯äœãããŸããïŒ
Styloã®
èšäºã§ ããã©ãŠã¶ãŒãHTMLãšCSSã®è§£æããç»é¢äžã®ãã¯ã»ã«ã«ç§»åããæ¹æ³ãšãã»ãšãã©ã®ãã©ãŠã¶ãŒã5ã€ã®ã¹ãããã§ãããè¡ãæ¹æ³ã«ã€ããŠèª¬æããŸããã
ãããã®5ã€ã®ã¹ãããã¯2ã€ã®éšåã«åããããšãã§ããŸãã ãããã®æåã¯ãæ¬è³ªçã«ãèšç»ãç«ãŠãããšã§ãã èšç»ãç«ãŠãããã«ããã©ãŠã¶ã¯ããã¥ãŒããŒãã®ãµã€ãºãªã©ã®æ
å ±ãèæ
®ããŠHTMLãšCSSã解æããåèŠçŽ ã®å¹
ãé«ããè²ãªã©ãæ£ç¢ºã«ææ¡ããŸãã æçµçµæã¯ãããã¬ãŒã ããªãŒããŸãã¯ãã¬ã³ããŒããªãŒããšåŒã°ãããã®ã§ãã
2çªç®ã®éšåïŒã¬ã³ããªã³ã°ãšã¬ã€ã¢ãŠãïŒã§ã¯ãã¬ã³ãã©ãŒãåäœããŸãã 圌ã¯ãã®èšç»ãæ¡çšããç»é¢äžã®ãã¯ã»ã«ã«å€æããŸãã
ãããããã©ãŠã¶ã¯ãããäžåºŠã ãè¡ãã®ã«ååã§ã¯ãããŸããã 圌ã¯åãWebããŒãžã«å¯ŸããŠäœåºŠãæäœãç¹°ãè¿ãå¿
èŠããããŸãã ã¹ã€ããã§divãéããªã©ãããŒãžäžã§äœããå€æŽããããã³ã«ããã©ãŠã¶ãŒã¯ãã¹ãŠã®ã¹ããããäœåºŠãç¹°ãè¿ããªããã°ãªããŸããã
ããŒãžäžã§äœãå€æŽãããŠããªããŠãïŒããšãã°ãåã«ã¹ã¯ããŒã«ãããããã¹ããéžæãããïŒããã©ãŠã¶ã¯åŒãç¶ãã¬ã³ããªã³ã°æäœãå®è¡ããŠç»é¢ã«æ°ãããã¯ã»ã«ãæç»ããå¿
èŠããããŸãã
ã¹ã¯ããŒã«ãšã¢ãã¡ãŒã·ã§ã³ãã¹ã ãŒãºã«ããã«ã¯ãæ¯ç§60ãã¬ãŒã ã§æŽæ°ããå¿
èŠããããŸãã
ãã®ãã¬ãŒãºãèããããšããããããããŸãã-1ç§ãããã®ãã¬ãŒã æ°ïŒFPSïŒ-æå³ãããããªãã ç§ã¯ããããããªããããã¯ãšããŠæ瀺ããŸãã ããã¯ãéæ¢ç»ãå«ãæ¬ã®ãããªãã®ã§ããã°ããã¹ã¯ããŒã«ããŠã¢ãã¡ãŒã·ã§ã³ã®é¯èŠãäœæã§ããŸãã
ãã®ãããªããªããããã¯ã®ã¢ãã¡ãŒã·ã§ã³ãæ»ããã«èŠããããã«ã¯ãæ¯ç§60ããŒãžã衚瀺ããå¿
èŠããããŸãã
ããªããããã¯ã®ããŒãžã¯ã°ã©ãçšçŽã§ã§ããŠããŸãã å€æ°ã®å°ããªæ£æ¹åœ¢ããããåæ£æ¹åœ¢ã«ã¯1è²ããå«ããããšãã§ããŸããã
ã¬ã³ãã©ãŒã®ã¿ã¹ã¯ã¯ãã°ã©ãçšçŽã®åè§ãå¡ãã€ã¶ãããšã§ãã ãããããã¹ãŠãã£ã±ãã«ãªããšããã¬ãŒã ã®ã¬ã³ããªã³ã°ãçµäºããŸãã
ãã¡ãããã³ã³ãã¥ãŒã¿ã«ã¯å®éã®ã°ã©ãçšçŽã¯ãããŸããã 代ããã«ãã³ã³ãã¥ãŒã¿ãŒã«ã¯ãã¬ãŒã ãããã¡ãŒãšåŒã°ããã¡ã¢ãªé åããããŸãã ãã¬ãŒã ãããã¡å
ã®åã¡ã¢ãªã¢ãã¬ã¹ã¯ãã°ã©ãçšçŽäžã®æ£æ¹åœ¢ã®ãããªãã®ã§ã...ç»é¢äžã®ãã¯ã»ã«ã«å¯Ÿå¿ããŠããŸãã ãã©ãŠã¶ãŒã¯ãåã»ã«ã«RGBAå€ïŒèµ€ãç·ãéãããã³ã¢ã«ãã¡ïŒã«äžèŽããæ°å€ãå
¥åããŸãã
ç»é¢ãæŽæ°ããå¿
èŠãããå Žåããã®ã¡ã¢ãªé åã«ã¢ã¯ã»ã¹ããŸãã
ã»ãšãã©ã®ã³ã³ãã¥ãŒã¿ãŒã®ãã£ã¹ãã¬ã€ã¯ã1ç§éã«60åæŽæ°ãããŸãã ãã®ããããã©ãŠã¶ãŒã¯1ç§ããã60ãã¬ãŒã ãçæããããšããŸãã ããã¯ããã©ãŠã¶ããã¹ãŠã®äœæ¥ïŒCSSã¹ã¿ã€ã«ã®åæãã¬ã€ã¢ãŠããã¬ã³ããªã³ã°ïŒã«16.67ããªç§ãããªãããšãæå³ããŸã-ãã¬ãŒã ãããã¡ãŒã®ãã¹ãŠã®ã¹ããããè²ã«å¯Ÿå¿ããæ°åã§åããŸãã ãã®2ã€ã®ãã¬ãŒã éã®æéééïŒ16.67ããªç§ïŒã¯ããã¬ãŒã ããžã§ãããšåŒã°ããŸãã
人ã
ã¯æã
ãã¬ãŒã ã®æ¬ èœã«ã€ããŠèšåããã®ãèãããšãã§ããŸããã æ¬ èœãããã¬ãŒã ã¯ãã·ã¹ãã ãäºç®ã«åãŸããªãå Žåã§ãã ãã£ã¹ãã¬ã€ã¯ããã©ãŠã¶ããã¬ãŒã ã®è¡šç€ºãå®äºããåã«ããã¬ãŒã ãããã¡ããæ°ãããã¬ãŒã ãååŸããããšããŸãã ãã®å Žåããã£ã¹ãã¬ã€ã«ã¯åã³å€ãããŒãžã§ã³ã®ãã¬ãŒã ã衚瀺ãããŸãã
çŽå€±ãããã¬ãŒã ã¯ãããªããããã¯ã®ç ŽããããŒãžãšæ¯èŒã§ããŸãã åã®ããŒãžãã次ã®ããŒãžãžã®äžéãªã³ã¯ã倱ããããããã¢ãã¡ãŒã·ã§ã³ãããªãŒãºããŠåãå§ããŸãã
ãããã£ãŠããã£ã¹ãã¬ã€ãåã³ãã§ãã¯ããåã«ããã¹ãŠã®ãã¯ã»ã«ããã¬ãŒã ãããã¡ãŒã«å
¥ããæéãå¿
èŠã§ãã ãã©ãŠã¶ããããè¡ãããã«ã©ã®ããã«äœ¿çšãããæè¡ãæéãšãšãã«ã©ã®ããã«é²åããããèŠãŠã¿ãŸãããã ããããã°ããã®ããã»ã¹ãé«éåããæ¹æ³ãç解ã§ããŸãã
ã¬ã³ããªã³ã°ãšã¬ã€ã¢ãŠãã®ç°¡åãªæŽå²
ã泚æ ã¬ã³ããªã³ã°ãšã¬ã€ã¢ãŠãã¯ããã©ãŠã¶ãŒã®ã¬ã³ããªã³ã°ãšã³ãžã³ãäºãã«æãç°ãªãéšåã§ãã åäžãã©ãããã©ãŒã ã®ãã©ãŠã¶ãŒïŒEdgeããã³SafariïŒã¯ããã«ããã©ãããã©ãŒã ã®ãã©ãŠã¶ãŒïŒFirefoxããã³ChromeïŒãšã¯å°ãç°ãªããŸããæåã®ãã©ãŠã¶ã§ããããŒãžã®ã¬ã³ããªã³ã°ãé«éåããããã®æé©åãããã€ããããŸããã ããšãã°ãããŒãžãã¹ã¯ããŒã«ãããšãããã©ãŠã¶ã¯ããŒãžã®æ¢ã«ã¬ã³ããªã³ã°ãããéšåã移åããããšãã次ã«ç©ºãã¹ããŒã¹ã«ãã¯ã»ã«ãæç»ããããšããŸããã
å€æŽå
容ãèšç®ããå€æŽãããèŠçŽ ãŸãã¯ãã¯ã»ã«ã®ã¿ãæŽæ°ããããã»ã¹ãç¡å¹åãšåŒã³ãŸãã
æéãçµã€ã«ã€ããŠããã©ãŠã¶ãŒã¯åè§åœ¢ã®ç¡å¹åãªã©ãããé«åºŠãªç¡å¹åææ³ã䜿çšãå§ããŸããã ããã§ã¯ãç»é¢ã®å€åããé åã®åšãã®æå°ã®é·æ¹åœ¢ãèšç®ããããããã®é·æ¹åœ¢å
ã®ãã¯ã»ã«ã®ã¿ãæŽæ°ãããŸãã
ããã§ãããŒãžäžã§å°æ°ã®èŠçŽ ã®ã¿ãå€æŽãããå Žåãããšãã°ç¹æ»
ã«ãŒãœã«ã®ã¿ããã£ãå Žåãèšç®éã¯å®éã«å€§å¹
ã«åæžãããŸãã
ããããããŒãžã®å€§éšåãå€æŽãããŠãããŸã圹ã«ç«ã¡ãŸããã ãã®ãããªå Žåãæ°ããæè¡ãçºæããå¿
èŠããããŸããã
ã¬ã€ã€ãŒãšã¬ã€ã¢ãŠãã衚瀺ãããŸã
ããŒãžã®å€§éšåãå€æŽãããšãã¯ãå°ãªããšãããã€ãã®å Žåãã¬ã€ã€ãŒã䜿çšãããšéåžžã«åœ¹ç«ã¡ãŸãã
ãã©ãŠã¶ã®ã¬ã€ã€ãŒã¯ã挫ç»ã®æç»ã«äœ¿çšãããŠããPhotoshopã®ã¬ã€ã€ãŒãŸãã¯èãæ»ãããªçŽã®ã¬ã€ã€ãŒã«äŒŒãŠããŸãã äžè¬ã«ãããŸããŸãªã¬ã€ã€ãŒã«ããŸããŸãªããŒãžèŠçŽ ãæç»ããŸãã 次ã«ããããã®ã¬ã€ã€ãŒãäºãã®äžã«é
眮ããŸãã
é·ãéããã©ãŠã¶ã¯ã¬ã€ã€ãŒã䜿çšããŠããŸããããã¬ã³ããªã³ã°ã®é床ãåžžã«åäžãããšã¯éããŸããã§ããã æåã¯ãèŠçŽ ã®æ£ããã¬ã³ããªã³ã°ãä¿èšŒããããã ãã«äœ¿çšãããŠããŸããã 圌ãã¯ãããããããžã·ã§ãã³ã°ã³ã³ããã¹ããïŒã¹ã¿ããã³ã°ã³ã³ããã¹ãïŒãå®è£
ããŸããã
ããšãã°ãããŒãžã«åéæã®èŠçŽ ãããå Žåã¯ãç¬èªã®äœçœ®ã³ã³ããã¹ãã«ããå¿
èŠããããŸãã ã€ãŸããç¬èªã®ã¬ã€ã€ãŒãããããã®è²ãäžã«ããèŠçŽ ã®è²ãšæ··ããããšãã§ããŸãã ãããã®ã¬ã€ã€ãŒã¯ããã¬ãŒã ã®ã¬ã³ããªã³ã°ãçµäºãããšããã«ç Žæ£ãããŸããã 次ã®ãã¬ãŒã ã§ã¯ãã¬ã€ã€ãŒãåæç»ããå¿
èŠããããŸããã
ãã ãããããã®ã¬ã€ã€ãŒã®äžéšã®èŠçŽ ã¯ãã¬ãŒã ããšã«å€åããŸããã ããšãã°ãéåžžã®ã¢ãã¡ãŒã·ã§ã³ãæ³åããŠãã ããã ããŒããŒãåæ¯ã«ç§»åããŠããèæ¯ã¯å€ãããŸããã èæ¯ã¬ã€ã€ãŒãä¿åããŠåå©çšããæ¹ãã¯ããã«å¹ççã§ãã
ããã¯ãã©ãŠã¶ãããããšã§ãã 圌ãã¯ã¬ã€ã€ãŒãä¿åãå§ããæŽæ°ã®ã¿ãå€æŽããŸããã ãŸããå Žåã«ãã£ãŠã¯ãã¬ã€ã€ãŒããŸã£ããå€æŽãããŸããã§ããã ããšãã°ãã¢ãã¡ãŒã·ã§ã³ãç»é¢äžã移åããå ŽåãèŠçŽ ãã¹ã¯ããŒã«ããå Žåãªã©ããããã«ç§»åããã ãã§ãã
ã¬ã€ã€ãŒãå
±åé
眮ãããã®ããã»ã¹ã¯ãã¬ã€ã¢ãŠããšåŒã°ããŸãã ãªã³ã«ã¯æ¬¡ã®ãªããžã§ã¯ããåŠçããŸãã
- ãœãŒã¹ã©ã¹ã¿ãŒã€ã¡ãŒãžïŒèæ¯ïŒã³ã³ãã³ããã¹ã¯ããŒã«ãã空çœã®ãŠã£ã³ããŠãå«ãïŒããã³ã¹ã¯ããŒã«ã³ã³ãã³ãèªäœã
- ã¿ãŒã²ããããããããã¯ãç»é¢ã«è¡šç€ºããããã®ã§ãã
æåã«ããªã³ã«ã¯èæ¯ãã¿ãŒã²ããããããããã«ã³ããŒããŸãã
次ã«ãã¹ã¯ããŒã«ããã³ã³ãã³ããã©ãã ã衚瀺ããå¿
èŠãããããææ¡ããå¿
èŠããããŸãã ãã®éšåãã¿ãŒã²ããããããããã®äžã«ã³ããŒããŸãã
ããã«ãããã¡ã€ã³ã¹ã¬ããã§ã®ã¬ã³ããªã³ã°ã®éãåæžãããŸãã ããããã¡ã€ã³ã¹ã¬ããã¯ãŸã ã¬ã€ã¢ãŠãã«å€ãã®æéãè²»ãããŠããŸãã ãŸããã¡ã€ã³ã¹ã¬ããã«ã¯ãªãœãŒã¹ã奪ãåãå€ãã®ããã»ã¹ããããŸãã
åã«ãã®äŸãæããŸãããã¡ã€ã³ã¹ã¬ããã¯ãã«ã¹ã¿ãã¯éçºè
ã®ãããªãã®ã§ãã 圌ã¯ãDOMãã¬ã€ã¢ãŠããããã³JavaScriptãæ
åœããŠããŸãã ãŸãã圌ã¯ã¬ã³ããªã³ã°ãšã¬ã€ã¢ãŠããæ
åœããŠããŸãã
ã¡ã€ã³ã¹ã¬ããã§ã¬ã³ããªã³ã°ãšã¬ã€ã¢ãŠãã«è²»ãããã1ããªç§ã¯ãJavaScriptãŸãã¯ã¬ã€ã¢ãŠãããããã£ãæéã§ãã
ããããããã«ã¯ä»ã®ããŒããŠã§ã¢ããããã»ãšãã©äœãããŸããã ãŸããã°ã©ãã£ãã¯åŠççšã«ç¹å¥ã«äœæãããŠããŸãã 90幎代ã®ã²ãŒã ããã¬ãŒã ããã°ããã¬ã³ããªã³ã°ããããã«äœ¿çšããŠããGPUã«ã€ããŠã§ãã ãã以æ¥ãGPUã¯ãã倧ããããã匷åã«ãªããŸããã
ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã¬ã€ã¢ãŠã
ãã®ããããã©ãŠã¶éçºè
ã¯GPUã®ä»äºã移ãå§ããŸããã
çè«çã«ã¯ã2ã€ã®ã¿ã¹ã¯ãã°ã©ãã£ãã¯ã¢ã¯ã»ã©ã¬ãŒã¿ã«è»¢éã§ããŸãã
- æç»ã¬ã€ã€ãŒã
- ã¬ã€ã€ãŒãçžäºã«ã¬ã€ã¢ãŠãããŸãã
ã¬ã³ããªã³ã°ãGPUã«äŒããã®ã¯é£ããå ŽåããããŸãã ãã®ãããéåžžããã«ããã©ãããã©ãŒã ãã©ãŠã¶ã¯ãã®ã¿ã¹ã¯ãCPUã«ä»»ããŸãã
ãã ããGPUã¯éåžžã«è¿
éã«æ§ç¯ã§ãããã®ã¿ã¹ã¯ãç°¡åã«å®è¡ã§ããŸãã
äžéšã®ãã©ãŠã¶ã¯ãCPUã«ãªã³ã«ãŒã¹ã¬ãããè¿œå ããããšã«ãããåæå®è¡ãããã«åŒ·å¶ããŸãã 圌ã¯ãGPUã§å®è¡ããããã¹ãŠã®ã¬ã€ã¢ãŠãäœæ¥ã®ãããŒãžã£ãŒã«ãªããŸãã ã€ãŸããã¡ã€ã³ã¹ã¬ãããäœãïŒããšãã°JavaScriptã®å®è¡ïŒã§ããžãŒã§ããå Žåããªã³ã«ãŒã¹ããªãŒã ã¯ãŸã ã¢ã¯ãã£ãã§ãããã³ã³ãã³ãã®ã¹ã¯ããŒã«ãªã©ããŠãŒã¶ãŒã«èŠããäœæ¥ãè¡ããŸãã
ã€ãŸãããã¹ãŠã®ã¬ã€ã¢ãŠãäœæ¥ãã¡ã€ã³ã¹ã¬ããããé¢ããŸãã ãããããŸã å€ãã®ãã®ãæ®ã£ãŠããŸãã ã¬ã€ã€ãŒãåæç»ããå¿
èŠããããã³ã«ãããã«ããã¡ã€ã³ã¹ã¬ãããäœæãããã¬ã€ã€ãŒãGPUã«æž¡ãããŸãã
äžéšã®ãã©ãŠã¶ãŒã¯ãè¿œå ã®ã¹ããªãŒã ã«ç§»åããŠã¬ã³ããªã³ã°ããŠããŸãïŒFirefoxã§ãçŸåšäœæ¥äžã§ãïŒã ãã ãããã®æåŸã®èšç®ïŒã¬ã³ããªã³ã°ïŒãGPUã«çŽæ¥è»¢éããæ¹ãé«éã§ãã
ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã¬ã³ããªã³ã°
ãã®ããããã©ãŠã¶ãŒã¯GPUãšã¬ã³ããªã³ã°ã«ã転éãå§ããŸããã
ãã®ç§»è¡ã¯ãŸã é²è¡äžã§ãã äžéšã®ãã©ãŠã¶ãŒã¯GPUã§ãã¹ãŠã®ã¬ã³ããªã³ã°ãå®è¡ããŸãããä»ã®ãã©ãŠã¶ãŒã§ã¯ç¹å®ã®ãã©ãããã©ãŒã ã§ã®ã¿å¯èœã§ãïŒããšãã°ãWindowsã®ã¿ãŸãã¯ã¢ãã€ã«ããã€ã¹ã®ã¿ïŒã
GPUã¬ã³ããªã³ã°ã¯ããã€ãã®çµæããããããŸããã CPUã¯ãJavaScriptãã¬ã€ã¢ãŠããªã©ã®ã¿ã¹ã¯ã«ãã¹ãŠã®æéãè²»ããããšãã§ããŸããã ããã«ãGPUã¯CPUãããã¯ããã«é«éã«ãã¯ã»ã«ãæç»ãããããã¬ã³ããªã³ã°ããã»ã¹å
šäœãé«éã«ãªããŸãã CPUããGPUã«è»¢éããå¿
èŠãããããŒã¿ã®éãæžå°ããŸããã
ãã ããã¬ã³ããªã³ã°ãšã¬ã€ã¢ãŠãã®ãã®åé¢ãç¶æããã«ã¯ãäž¡æ¹ã®ããã»ã¹ãGPUã§å®è¡ãããå Žåã§ããããçšåºŠã®ã³ã¹ããå¿
èŠã§ãã ãã®åé¢ã«ãããGPUãé«éåããæé©åãªãã·ã§ã³ãå¶éãããŸãã
ãããWebRenderã®åºçªã§ãã ã¬ã³ããªã³ã°æ¹æ³ãæ ¹æ¬çã«å€æŽããã¬ã³ããªã³ã°ãšã¬ã€ã¢ãŠãã®éããå¹³æºåããŸãã ããã«ãããã¬ã³ãã©ãŒã®ããã©ãŒãã³ã¹ãææ°ã®Webã®èŠä»¶ã«åãããŠèª¿æŽããå°æ¥ç»å Žããç¶æ³ã«åããŠæºåã§ããŸãã
èšãæãããšããã¬ãŒã ã®ã¬ã³ããªã³ã°ãé«éåããã ãã§ã¯ãªãããã¬ãŒã ãããããããããæžéãããããã«ãããå®å®ããã¬ã³ããªã³ã°ãæãã§ããŸããã ãŸãã4K解å床ã®ä»®æ³çŸå®ãã«ã¡ããWebVRã®ããã«ãå€ãã®ãã¯ã»ã«ãæç»ããå¿
èŠãããå Žåã§ããã¹ã ãŒãºãªåçãå¿
èŠã§ãã
ææ°ã®ãã©ãŠã¶ã§ã¢ãã¡ãŒã·ã§ã³ãéåžžã«é
ãã®ã¯ãªãã§ããïŒ
äžèšã®æé©åã¯ãå Žåã«ãã£ãŠã¯ã¬ã³ããªã³ã°ã®é«éåã«åœ¹ç«ã¡ãŸããã ããŒãžäžã§æå°éã®èŠçŽ ãå€æŽãããå ŽåïŒããšãã°ãã³ãŒã¹ã®ãã©ãã·ã¥ã®ã¿ïŒããã©ãŠã¶ã¯å¯èœãªéãã»ãšãã©åäœããŸããã
ããŒãžãã¬ã€ã€ãŒã«åå²ããåŸããã®ãããªãçæ³çãªãã¹ã¯ãªããã®æ°ãå¢å ããŸããã ããã€ãã®ã¬ã€ã€ãŒãæç»ããããããçžå¯Ÿçã«ç§»åããã ãã§ããã°ãã¬ã³ããŒ+ã¬ã€ã¢ãŠãã¢ãŒããã¯ãã£ã¯çŽ æŽãããä»äºãããŸãã
ããããã¬ã€ã€ãŒã«ã¯æ¬ é¥ããããŸãã 圌ãã¯å€ãã®ã¡ã¢ãªãæ¶è²»ããæã«ã¯ã¬ã³ããªã³ã°ãé
ãããããšããããŸãã ãã©ãŠã¶ãŒã¯ãçã«ããªã£ãŠããã¬ã€ã€ãŒãçµã¿åãããå¿
èŠããããŸã...ããããçã«ããªã£ãŠããéšåãšããã§ãªãéšåãæ£ç¢ºã«ç¹å®ããããšã¯å°é£ã§ãã
ãã®ãããããŒãžäžã§ããŸããŸãªãªããžã§ã¯ãã移åããŠããå Žåã¯ãå€æ°ã®ã¬ã€ã€ãŒãäœæããå¿
èŠããããŸãã ã¬ã€ã€ãŒã¯ã¡ã¢ãªã倧éã«æ¶è²»ãããªã³ã«ãžã®è»¢éã«ã¯æéãããããããŸãã
ãã以å€ã®å Žåãè€æ°ããã¯ãã®1ã€ã®ã¬ã€ã€ãŒãååŸãããŸãã ãã®åäžã®ã¬ã€ã€ãŒã¯ç¶ç¶çã«åæç»ãããŠãªã³ã«ãŒã«æž¡ããããªã³ã«ãŒã¯äœãå€æŽããã«ã¬ã€ã€ãŒãæ§æããŸãã
ã€ãŸããã¬ã³ããªã³ã°äœæ¥ãåé€ãããŸããåãã¯ã»ã«ã¯ãå¿
èŠãªã2ååŠçãããŸãã ã¬ã€ã¢ãŠãã¹ããŒãžããã€ãã¹ããŠãããŒãžãçŽæ¥ã¬ã³ããªã³ã°ããã ãã§é«éã«ãªããŸãã
ã¬ã€ã€ãŒãåã«åœ¹ã«ç«ããªãå€ãã®å ŽåããããŸãã ããšãã°ãã¢ãã¡ãŒã·ã§ã³åãããèæ¯ãããå Žåãã¬ã€ã€ãŒå
šäœãåæç»ããå¿
èŠããããŸãã ãããã®ã¬ã€ã€ãŒã¯ãããã€ãã®CSSããããã£ã§ã®ã¿åœ¹ç«ã¡ãŸãã
ã»ãšãã©ã®ãã¬ãŒã ãæé©ãªã·ããªãªã«é©åããŠããŠããã€ãŸããã¬ãŒã äºç®ã®ããäžéšããå ããŠããªããŠãããªããžã§ã¯ãã®åãã¯æç¶çãªãŸãŸã§ãã ãžã£ãŒã¯ãšã¹ããŒããŠã³ãç¥èŠããã«ã¯ãææªã®ã·ããªãªã«é©åãããã¬ãŒã ãæ°åã ã倱ãã ãã§ååã§ãã
ãããã®ã·ããªãªã¯ãããã©ãŒãã³ã¹ã¯ãªããšåŒã°ããŸãã ãããã®ææªã®ã·ããªãªïŒã¢ãã¡ãŒã·ã§ã³åãããèæ¯ãªã©ïŒã®1ã€ã«ééãããŸã§ãã¢ããªã±ãŒã·ã§ã³ã¯æ£åžžã«åäœããããã§ã-ãã¬ãŒã ã¬ãŒãã¯çªç¶éçãŸã§äœäžããŸãã
ããããããªãã¯ãã®ãããªåŽãåãé€ãããšãã§ããŸãã
ã©ããã£ãŠããã®ïŒ 3Dã²ãŒã ãšã³ãžã³ã®äŸã«åŸã£ãŠãã ããã
GPUãã²ãŒã ãšã³ãžã³ãšããŠäœ¿çšãã
ã©ã®ã¬ã€ã€ãŒãå¿
èŠãªã®ãçåã«æãã®ãããããã©ãã§ããããïŒ ã¬ã³ããªã³ã°ãšã¬ã€ã¢ãŠãã®éã®ãã®äžéã¹ããããåé€ããåãã¬ãŒã ã®åãã¯ã»ã«ã®ã¬ã³ããªã³ã°ã«æ»ããšã©ããªããŸããïŒ
ããã¯éŠ¬é¹¿ããã¢ã€ãã¢ã®ããã«æãããããããŸããããããã€ãã®å Žæã§ã¯ãã®ãããªã·ã¹ãã ã䜿çšãããŠããŸãã ææ°ã®ãããªã²ãŒã ã§ã¯ããã¹ãŠã®ãã¯ã»ã«ãåæç»ããããã©ãŠã¶ãŒãããæ¯ç§60ãã¬ãŒã ã®ã¬ãã«ã®ä¿¡é Œæ§ãé«ããªããŸãã 圌ãã¯ç°åžžãªæ¹æ³ã§ãããè¡ããŸã...åæç»ã®ããã®é åãæå°åããç¡å¹åãšã¬ã€ã€ãŒã®ããã«ãããã®é·æ¹åœ¢ãäœæãã代ããã«ãç»é¢å
šäœãåã«æŽæ°ãããŸãã
ãã®æ¹æ³ã§WebããŒãžãã¬ã³ããªã³ã°ãããšãã¯ããã«é
ããªããŸããïŒ
CPUã§ã¬ã³ããªã³ã°ãè¡ãå Žåãã¯ãã ããããGPUã¯ãã®çš®ã®äœæ¥çšã«ç¹å¥ã«èšèšãããŠããŸãã
GPUã¯ãæ倧éã®äžŠååŠçã§æ§ç¯ãããŠããŸãã
Styloã«é¢ããååã®èšäºã§äžŠè¡æ§ã«ã€ããŠè©±
ããŸãã ã 䞊ååŠçã®ãããã§ãã³ã³ãã¥ãŒã¿ãŒã¯ããã€ãã®ã¿ã¹ã¯ãåæã«å®è¡ããŸãã åæã«å®è¡ãããã¿ã¹ã¯ã®æ°ã¯ãããã»ããµã®ã³ã¢ã®æ°ã«ãã£ãŠå¶éãããŸãã
éåžžãCPUã«ã¯2ã8åã®ã³ã¢ããããGPUã«ã¯å°ãªããšãæ°çŸåãå€ãã®å Žå1000åãè¶
ããã³ã¢ããããŸãã
ãã ãããããã®ã³ã¢ã®åäœã¯å°ãç°ãªããŸãã CPUã³ã¢ã®ããã«ãå®å
šã«ç¬ç«ããŠæ©èœããããšã¯ã§ããŸããã 代ããã«ãéåžžãããçš®ã®ã³ã©ãã¬ãŒã·ã§ã³ã¿ã¹ã¯ãå®è¡ããç°ãªãããŒã¿ã«å¯ŸããŠ1ã€ã®åœä»€ãå®è¡ããŸãã
ããã¯ããã¯ã»ã«ãåãããšãã«å¿
èŠãªãã®ã§ãã ãã¹ãŠã®ãã¯ã»ã«ãç°ãªãã³ã¢ã«åæ£ã§ããŸãã GPUã¯åæã«æ°çŸã®ãã¯ã»ã«ã§åäœãããããCPUãããã¯ããã«é«éã«ãã¯ã»ã«ã®å
å¡«ãå®è¡ããŸã...ãã ãããã¹ãŠã®ã³ã¢ã«äœæ¥ãããŒããããŠããå Žåã®ã¿ã§ãã
ã«ãŒãã«ã¯åãã¿ã¹ã¯ã§åæã«åäœããå¿
èŠããããããGPUã«ã¯å®è¡ããã¹ããããããªãå¶éãããŠãããããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ã€ã¹ã¯éåžžã«éãããŠããŸãã ä»çµã¿ãèŠãŠã¿ãŸãããã
æåã®ã¹ãããã¯ãGPUã«äœãæç»ããããæ£ç¢ºã«äŒããããšã§ãã ããã¯ããªããžã§ã¯ãã®ãã©ãŒã ãšããããèšå
¥ããããã®æ瀺ãäžããããšãæå³ããŸãã
ãããè¡ãã«ã¯ããã¿ãŒã³å
šäœãåçŽãªåœ¢ç¶ïŒéåžžã¯äžè§åœ¢ïŒã«åå²ããŸãã ãããã®åœ¢ç¶ã¯3D空éã«ãããããäžéšã®åœ¢ç¶ã¯ä»ã®åœ¢ç¶ãé ãå ŽåããããŸãã 次ã«ããã¹ãŠã®äžè§åœ¢ã®é ç¹ãååŸããxãyãz座æšãé
åã«è¿œå ããŸãã
次ã«ãGPUã³ãã³ããéä¿¡ããŠãããã®ãã©ãŒã ãæç»ããŸãïŒæç»åŒã³åºãïŒã
ãã®ç¬éãããGPUã¯åäœãéå§ããŸãã ãã¹ãŠã®ã³ã¢ãäžåºŠã«1ã€ã®ã¿ã¹ã¯ãå®è¡ããŸãã 圌ãã¯æ¬¡ã®ããšãè¡ããŸãã
- ãã¹ãŠã®åœ¢ç¶ã®è§åºŠã決å®ããŸãã ããã¯ãé ç¹ã·ã§ãŒãã£ã³ã°ãšåŒã°ããŸãã
- é ç¹ãçµã¶ç·ãèšå®ããŸãã ããã§ã圢ç¶ã«å«ãŸãããã¯ã»ã«ã決å®ã§ããŸãã ããã¯ãã©ã¹ã¿ã©ã€ãºãšåŒã°ããŸãã
- ã©ã®ãã¯ã»ã«ãå圢ç¶ã«å±ããŠããããããã£ãããåãã¯ã»ã«ã調ã¹ãŠè²ãå²ãåœãŠãããšãã§ããŸãã ããã¯ããã¯ã»ã«ã·ã§ãŒãã£ã³ã°ãšåŒã°ããŸãã
æåŸã®ã¹ãããã®å®è¡æ¹æ³ã¯ç°ãªããŸãã ç¹å®ã®æ瀺ãäžããããã«ãããã¯ã»ã«ã·ã§ãŒããŒããšåŒã°ããç¹å¥ãªããã°ã©ã ãGPUã§åäœããŸãã ãã¯ã»ã«ã·ã§ãŒãã£ã³ã°ã¯ãããã°ã©ã å¯èœãªGPUæ©èœã®æ°å°ãªãèŠçŽ ã®1ã€ã§ãã
äžéšã®ãã¯ã»ã«ã·ã§ãŒããŒã¯éåžžã«åçŽã§ãã ããšãã°ãã·ã§ã€ãå
šäœã1ã€ã®è²ã§å¡ãã€ã¶ãããŠããå Žåãã·ã§ãŒããŒã¯åçŽã«ãã®è²ãã·ã§ã€ãã®åãã¯ã»ã«ã«å²ãåœãŠãå¿
èŠããããŸãã
ããããããšãã°èæ¯ç»åã«ã¯ãããè€éãªã·ã§ãŒããŒããããŸãã ããã§ã¯ãç»åã®ã©ã®éšåãã©ã®ãã¯ã»ã«ã«å¯Ÿå¿ãããã調ã¹ãå¿
èŠããããŸãã ããã¯ãã¢ãŒãã£ã¹ããç»åãæ¡å€§ãŸãã¯çž®å°ããã®ãšåãæ¹æ³ã§è¡ãããšãã§ããŸã...ç»åã®äžã«åãã¯ã»ã«ã®æ£æ¹åœ¢ã®ã°ãªãããé
眮ããŸãã 次ã«ãåããã¯ã¹å
ã®è²èŠæ¬ãåãããã¯ã»ã«ã®æçµçãªè²ã決å®ããŸãã ããã¯ãã¯ã¹ãã£ãããã³ã°ãšåŒã°ããŸããããã¯ãããã§ç»åïŒãã¯ã¹ãã£ãšåŒã°ããïŒããã¯ã»ã«ã«éãåããããããã§ãã
GPUã¯ãåãã¯ã»ã«ã®ãã¯ã»ã«ã·ã§ãŒããŒãåç
§ããŸãã ç°ãªãã³ã¢ã¯ç°ãªããã¯ã»ã«ã§äžŠè¡ããŠåäœããŸããããã¹ãŠåããã¯ã»ã«ã·ã§ãŒããŒãå¿
èŠã§ãã GPUã«ãªããžã§ã¯ãã®åœ¢ç¶ãæç»ããããã«æ瀺ãããšããåæã«äœ¿çšãããã¯ã»ã«ã·ã§ãŒããŒã瀺ããŸãã
ã»ãšãã©ãã¹ãŠã®WebããŒãžã§ã¯ãããŒãžã®ç°ãªãéšåã«ç°ãªããã¯ã»ã«ã·ã§ãŒããŒãå¿
èŠã§ãã
ã·ã§ãŒããŒã¯renderã³ãã³ãã§æå®ããããã¹ãŠã®ãã¯ã»ã«ã«å¯ŸããŠæ©èœãããããéåžžããããã®ã³ãã³ããããã€ãã®ã°ã«ãŒãã«åããå¿
èŠããããŸãã ãããã¯ããã±ãŒãžãšåŒã°ããŸãã ãã¹ãŠã®ã«ãŒãã«ãå¯èœãªéãããŒãããã«ã¯ãããããã«å€æ°ã®æ°åãå«ãå°æ°ã®ããã±ãŒãžãäœæããå¿
èŠããããŸãã
ããããGPUãæ°çŸãŸãã¯æ°åã®ã³ã¢ã«äœæ¥ãåæ£ããæ¹æ³ã§ãã ãããã¯ãã¹ãŠãåãã¬ãŒã ãã¬ã³ããªã³ã°ããéã®äžŠå€ãã䞊è¡æ§ã®ããã§ãã ãããããã®ãããªäžŠå€ãã䞊è¡æ§ããã£ãŠããå€ãã®äœæ¥ãæ®ã£ãŠããŸãã é©åãªããã©ãŒãã³ã¹ãå®çŸããã«ã¯ãåé¡ã®èšå®ã«è³¢æã«å¯ŸåŠããå¿
èŠããããŸãã ãããWebRenderã®åºçªã§ã...
WebRenderãGPUã§æ©èœããæ¹æ³
ããŒãžãã¬ã³ããªã³ã°ããããã«ãã©ãŠã¶ãŒãå®è¡ããã¹ããããèŠããŠãããŠãã ããã ããã§2ã€ã®å€æŽãçºçããŸããã
- ã¬ã³ããªã³ã°ãšã¬ã€ã¢ãŠãã®åé¢ã¯ãªããªããŸãã...äž¡æ¹ã®ããã»ã¹ã1ã€ã®ã¹ãããã§å®è¡ãããŸãã GPUã¯ãã°ã©ãã£ãã¯ã¹APIããåä¿¡ããã³ãã³ãã«ãã£ãŠå°ãããåæã«ããããäœæããŸãã
- ã¬ã€ã¢ãŠãã«ãããã¬ã³ããªã³ã°çšã®ç°ãªãããŒã¿æ§é ãæäŸãããŸãã 以åã¯ããã¬ãŒã ããªãŒïŒãŸãã¯Chromeã®èŠèŠåããªãŒïŒãšåŒã°ãããã®ã§ããã ãããŠä»ãããã¯è¡šç€ºãªã¹ããæž¡ããŸãã
衚瀺ãªã¹ãã¯ãé«ã¬ãã«ã®æç»åœä»€ã®ã³ã¬ã¯ã·ã§ã³ã§ãã ç¹å®ã®ã°ã©ãã£ãã¯ã¹APIã®ç¹å®ã®æ瀺ã䜿çšããã«ã¬ã³ããªã³ã°ããå¿
èŠããããã®ã瀺ããŸãã
æ°ããäœããæç»ããå¿
èŠããããšããã«ãã¡ã€ã³ã¹ã¬ããã¯è¡šç€ºãªã¹ããRenderBackendã«æž¡ããŸããããã¯CPUã§å®è¡ãããWebRenderã³ãŒãã§ãã
RenderBackendã®ã¿ã¹ã¯ã¯ãé«ã¬ãã«ã®æç»åœä»€ã®ãªã¹ããååŸãããããGPUã®ã³ãã³ãã«å€æããããšã§ããGPUã¯ããã±ãŒãžã«ãã³ãã«ãããŠå®è¡ãé«éåããŸãã
次ã«ãRenderBackendã¯ãããã®ãã±ããããªã³ã«ãŒã¹ã¬ããã«æž¡ãããªã³ã«ãŒã¹ã¬ããã¯ããã«GPUã«æž¡ããŸãã
RenderBackendã¯ãã¬ã³ããªã³ã°ã³ãã³ããGPUã§æ倧é床ã§å®è¡ããããšãæãã§ããŸãã ãããè¡ãã«ã¯ãããã€ãã®ç°ãªãææ³ã䜿çšãããŸãã
ãªã¹ãããäžèŠãªã·ã§ã€ããåé€ããïŒæ©æã«ãªã³ã°ïŒ
æéãç¯çŽããæåã®æ¹æ³ã¯ããŸã£ããåããªãããšã§ãã
ãŸããRenderBackendã¯è¡šç€ºãªã¹ããççž®ããŸãã ç»é¢ã«å®éã«è¡šç€ºããããªã¹ãé
ç®ã決å®ããŸãã ãããè¡ãããã«ã圌ã¯ã¢ã€ãã ãã¹ã¯ããŒã«ãªã¹ãã«ãããŠã£ã³ããŠããã©ãã ãé¢ããŠãããã調ã¹ãŸãã
FigureããŠã£ã³ããŠå
ã«åãŸãå Žåã衚瀺ãªã¹ãã«å«ãŸããŸãã ãããŠãå³ã®ã©ã®éšåãããã«è©²åœããªãå Žåããªã¹ãããé€å€ãããŸãã ãã®ããã»ã¹ã¯ã¢ãŒãªãŒã«ãªã³ã°ãšåŒã°ããŸãã
äžéæ§é ã®æ°ãæå°éã«æããïŒã¬ã³ããªã³ã°çšã®ã¿ã¹ã¯ããªãŒïŒ
ããã§ãããªãŒã«ã¯å¿
èŠãªåœ¢ç¶ã®ã¿ãå«ãŸããŸãã ãã®ããªãŒã¯ãåã«èª¬æããäœçœ®é¢ä¿ã§æŽçãããŠããŸãã
CSSãã£ã«ã¿ãŒãäœçœ®ã³ã³ããã¹ãã®ãããªå¹æã¯ãç©äºãããå°ãè€éã«ããŸãã ããšãã°ãéæ床ã0.5ã®èŠçŽ ããããåèŠçŽ ããããŸãã ããªãã¯ãã¹ãŠã®åäŸãã¡ãéæã§ãããšæããããããŸãã...ããããå®éã«ã¯ã°ã«ãŒãå
šäœãéæã§ãã
ãã®ããããŸãåã°ã«ãŒããå®å
šã«éæã«ããŠãã°ã«ãŒãããã¯ã¹ãã£ã«æã£ãŠããå¿
èŠããããŸãã 次ã«ã芪ãªããžã§ã¯ãã«é
眮ãããšããã¯ã¹ãã£å
šäœã®éæ床ãå€æŽã§ããŸãã
äœçœ®ã³ã³ããã¹ãã¯çžäºã«ãã¹ãã§ããŸã...芪ãªããžã§ã¯ãã¯å¥ã®äœçœ®ã³ã³ããã¹ãã«å±ããããšãã§ããŸãã ã€ãŸããå¥ã®äžéãã¯ã¹ãã£ã«æç»ããå¿
èŠããããŸãã
ãããã®ãã¯ã¹ãã£ã«ã¹ããŒã¹ãå²ãåœãŠãã®ã¯é«äŸ¡ã§ãã åãäžéæ§é äžã®ãã¹ãŠã®ãªããžã§ã¯ããæ倧éã«å容ããããšèããŠããŸãã
GPUãã¿ã¹ã¯ã«å¯ŸåŠã§ããããã«ãã¬ã³ããªã³ã°çšã®ã¿ã¹ã¯ããªãŒãäœæããŸãã ä»ã®ãã¯ã¹ãã£ã®åã«äœæããå¿
èŠããããã¯ã¹ãã£ã瀺ããŸãã ä»ã®ãã¯ã¹ãã£ããç¬ç«ãããã¯ã¹ãã£ã¯ãæåã®ãã¹ã§äœæã§ããŸããã€ãŸãã1ã€ã®äžéãã¯ã¹ãã£ã«çµåã§ããŸãã
ãããã£ãŠãåéæã®æ£æ¹åœ¢ã䜿çšããåè¿°ã®äŸã§ã¯ãæåã®ãã¹ã§æ£æ¹åœ¢ã®1ã€ã®è§ã«è²ãä»ããŸãã ïŒå®éããã¹ãŠãããå°ãè€éã§ããããã€ã³ãããããŸãïŒã
2çªç®ã®ãã¹ã§ã¯ããã®è§åºŠãæ£æ¹åœ¢å
šäœã«è€è£œããå¡ãã€ã¶ããŸãã 次ã«ãäžéæãªæ£æ¹åœ¢ã®ã°ã«ãŒããã¬ã³ããªã³ã°ããŸãã
æåŸã«ããã¯ã¹ãã£ã®éæ床ãå€æŽããç»é¢ã«è¡šç€ºãããæçµãã¯ã¹ãã£ã®é©åãªå Žæã«é
眮ããã ãã§ãã
ã¬ã³ããªã³ã°çšã®ã¿ã¹ã¯ããªãŒãæ§ç¯ããããç»é¢ã«è¡šç€ºããåã«ã¬ã³ããªã³ã°ãªããžã§ã¯ãã®æå°æ°ãèŠã€ããŸãã ãããã®ãã¯ã¹ãã£ã«ã¹ããŒã¹ãå²ãåœãŠãã®ã¯é«äŸ¡ã ãšèšã£ãã®ã§ãããã¯è¯ãããšã§ãã
ã¿ã¹ã¯ããªãŒã¯ãã¿ã¹ã¯ã®ãã³ãã«ã«ã圹ç«ã¡ãŸããã¬ã³ããªã³ã°çšã®ã°ã«ãŒãåã³ãã³ãïŒãããåŠçïŒ
æ¢ã«è¿°ã¹ãããã«ãããããã«å€æ°ã®å³ãå«ãå°æ°ã®ããã±ãŒãžãäœæããå¿
èŠããããŸããããã±ãŒãžãæ
éã«äœæãããšãã¬ã³ããªã³ã°ã倧å¹
ã«é«éåãããŸããã§ããã ãå€ãã®ãªããžã§ã¯ããããã±ãŒãžã«è©°ã蟌ãå¿
èŠããããŸãããã®èŠä»¶ã¯ããã€ãã®çç±ã§æå±ãããŠããŸãããŸããCPUãGPUã«æç»ã³ãã³ããçºè¡ãããã³ã«ãCPUã«ã¯åžžã«ä»ã®å€ãã®ã¿ã¹ã¯ããããŸãã圌ã¯ãGPUã®ã»ããã¢ãããã·ã§ãŒããŒããã°ã©ã ã®ããŒããããŸããŸãªããŒããŠã§ã¢ãã°ã®ãã§ãã¯ãªã©ã®äžè©±ãããå¿
èŠããããŸãããã®äœæ¥ã¯ãã¹ãŠèç©ãããŠãããCPUãå®è¡ããŠããéãGPUã¯ã¢ã€ãã«ç¶æ
ã«ãªããŸãã第äºã«ãç¶æ
ãå€æŽããããã®ç¹å®ã®ã³ã¹ãããããŸããããã±ãŒãžéã§ã·ã§ãŒããŒã®ç¶æ
ãå€æŽããå¿
èŠããããšããŸããããéåžžã®GPUã§ã¯ããã¹ãŠã®ã«ãŒãã«ãçŸåšã®ã·ã§ãŒããŒããã®ãžã§ããå®äºãããŸã§åŸ
ã€å¿
èŠããããŸããããã¯ããã€ãã©ã€ã³ã®ãã¬ã€ã³ãšåŒã°ããŸãããã€ãã©ã€ã³ã空ã«ãªããŸã§ãæ®ãã®ã³ã¢ã¯ã¹ã¿ã³ãã€ã¢ãŒãã«ãªããŸãããã®ãããããã°ãã§ããã ããã£ãããšæºããããšããå§ãããŸããéåžžã®ãã¹ã¯ãããPCã®å Žåãåãã¬ãŒã ã«100åæªæºã®ã¬ã³ããªã³ã°ã³ãã³ããæ®ãããšããå§ãããŸãããŸããåã³ãã³ãã«æ°åã®é ç¹ãæ¿å
¥ããããšããå§ãããŸãããããã£ãŠãæ倧å€ã¯äžŠåæ§ããçµãåºãããŸããã¿ã¹ã¯ããªãŒã®åãã¹ã衚瀺ããŠãã©ã®ã¿ã¹ã¯ã§1ã€ã®ããã±ãŒãžã«ã°ã«ãŒãåãããã確èªããŸããçŸåšãåã¿ã€ãã®ããªããã£ãã«ã¯ç°ãªãã·ã§ãŒããŒãå¿
èŠã§ããããšãã°ãããŒããŒã·ã§ãŒããŒãããã¹ãã·ã§ãŒããŒãã€ã¡ãŒãžã·ã§ãŒããŒããããŸãããããã®ã·ã§ãŒããŒã®å€ãã¯çµã¿åãããããšãã§ãããããã°ã«ãŒãåãããŠããã«ãããããããããã«å€§ããªããã±ãŒãžãäœæã§ãããšèããŠããŸããã¿ã¹ã¯ã¯GPUã«éä¿¡ããæºåãã»ãŒæŽããŸããããã ãããŸã 解決ã§ããäœæ¥ãå°ããããŸããäžéæ床ãšã¢ã«ãã¡ãã£ãã«ãã¹ã§ã®ãã¯ã»ã«ã·ã§ãŒãã£ã³ã°ã®åäœã®åæžïŒZæåŠïŒ
ã»ãšãã©ã®WebããŒãžã«ã¯ãå€ãã®éè€ããå³åœ¢ãå«ãŸããŠããŸããããšãã°ãããã¹ããã£ãŒã«ãã¯divã®äžéšïŒèæ¯ããïŒã®äžã«ãããbodyã®äžéšïŒèæ¯ãªãïŒã«ãããŸãããã¯ã»ã«ã®è²ã決å®ããéãGPUã¯åå³ã®ãã¯ã»ã«ã®è²ãèšç®ã§ããŸãããã ããæäžå±€ã®ã¿ã衚瀺ãããŸããããã¯ãªãŒããŒãããŒãšåŒã°ããGPUã®æéã®ç¡é§ã§ãããããã£ãŠãæåã«æäžäœã¬ã€ã€ãŒãã¬ã³ããªã³ã°ã§ããŸãã次ã®åœ¢ç¶ã®ãã¯ã»ã«ã®ã¬ã³ããªã³ã°ã«é¢ããŠã¯ããã®ãã¯ã»ã«ã«æ¢ã«å€ããããã©ããã確èªããŸããååšããå ŽåãäžèŠãªäœæ¥ã¯å®è¡ãããŸããã確ãã«ãå°ããªåé¡ããããŸããå³ãåéæã®å Žåã2ã€ã®å³ã®è²ãæ··ããå¿
èŠããããŸãããããŠããã¹ãŠãæ£ããèŠããããã«ãã¬ã³ããªã³ã°ã¯ããã ã¢ããã§è¡ãããã¹ãã§ãããããã£ãŠãäœæ¥ã2ã€ã®ãã¹ã«åå²ããŸããæåã«äžéæ床ãééããŸãããã¹ãŠã®äžéæãªå³åœ¢ãäžããäžã«ã¬ã³ããªã³ã°ããŸããä»ã®äººã«ãã£ãŠéããããŠãããã¹ãŠã®ãã¯ã»ã«ã®ã¬ã³ããªã³ã°ãã¹ãããããŸãã次ã«ãåéæã®åœ¢ç¶ã«é²ã¿ãŸããäžããäžã«æãããŸããåéæã®ãã¯ã»ã«ãäžéæã®äžã«ããå Žåããããã®è²ã¯æ··åãããŸããäžéæãªãã®ã®èåŸã«ããå Žåãèšç®ãããŸãããäžéæ床ãšã¢ã«ãã¡ãã£ãã«ã«å¿ãã2ã€ã®ãã¹ãžã®åå²ã¯ãäžèŠãªãã¯ã»ã«ã®èšç®ãããã«ã¹ãããããŠZã«ãªã³ã°ãšåŒã°ããŸããããã¯åçŽãªæé©åã®ããã«æãããããããŸããããããã§ã¯å€§ããªã¡ãªãããåŸãããŸããäžè¬çãªWebããŒãžã§ã¯ãåŠçãããã¯ã»ã«æ°ã倧å¹
ã«åæžãããŸããçŸåšãããã«å€ãã®ã¿ã¹ã¯ãäžéæ床ãã¹ã«ç§»åããæ¹æ³ãæ¢ããŠããŸããçŸæç¹ã§ã¯ããã¬ãŒã ãæºåããŠããŸããäœåãªäœæ¥ãåé€ããããã«æåãå°œãããŸããã...ãããŠãã¬ã³ããªã³ã°ã®æºåãã§ããŸããïŒ
GPUã¯ããã±ãŒãžãæ§æããã³ã¬ã³ããªã³ã°ããæºåãã§ããŠããŸããå
責äºé
ïŒGPUã«ãã¹ãŠãæ®ã£ãŠããããã§ã¯ãããŸãã
CPUã¯ãŸã ã¬ã³ããªã³ã°äœæ¥ã®äžéšãå®è¡ããŸããããšãã°ãCPUäžã®æåïŒã°ãªããšåŒã°ããŸãïŒãããã¹ããããã¯ã§ã¬ã³ããªã³ã°ããŸãã GPUã§ãããè¡ãããšã¯å¯èœã§ãããã³ã³ãã¥ãŒã¿ãŒãä»ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¬ã³ããªã³ã°ããã°ãªããšãã¯ã»ã«ããšã«å¯Ÿå¿ãããããšã¯å°é£ã§ãããã®ãããGPUã§ãã©ã³ããã¬ã³ããªã³ã°ãããšãã«äººã
ãæ··ä¹±ããå¯èœæ§ããããŸããPathfinderãããžã§ã¯ãã®äžç°ãšããŠãGPUäžã§ã°ãªãã¬ã³ããªã³ã°ã移åããå®éšãè¡ã£ãŠããŸãããããä»ããããã®ãã®ã¯CPUäžã®ããããããã«æç»ãããŠããŸãã次ã«ãGPUã®ãã¯ã¹ãã£ãã£ãã·ã¥ã«ããŒããããŸããéåžžããã®ãã£ãã·ã¥ã¯å€æŽãããªãããããã®ãã£ãã·ã¥ã¯ãã¬ãŒã ããšã«ä¿åãããŸãããã®ãããªã¬ã³ããªã³ã°ã¯CPUäžã«æ®ããŸãããããã§ãé«éåã®å¯èœæ§ããããŸããããšãã°ããã©ã³ãæåãã¬ã³ããªã³ã°ãããšããããŸããŸãªæåããã¹ãŠã®ã³ã¢ã«åæ£ããŸããããã¯ãã¹ã¿ã€ã«ã®èšç®ã䞊ååããããã«Styloã䜿çšããã®ãšåãææ³ã䜿çšããŠè¡ãããŸã... äœæ¥ãã€ã³ã¿ãŒã»ããããŸããå°æ¥ã®WebRender
2018幎ã«ãQuantum Renderã®äžéšãšããŠFirefoxã«WebRenderãå®è£
ããäºå®ã§ããFirefoxQuantumã®æåã®ãªãªãŒã¹åŸã®ããã€ãã®ãªãªãŒã¹ã§ãããã®åŸãæ¢åã®WebããŒãžã¯ããã¹ã ãŒãºã«åäœããŸãããŸããFirefoxãã©ãŠã¶ãŒã¯ãç»é¢ã®ãã¯ã»ã«æ°ãå¢ããå Žåã«ã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãéèŠã§ãããããæ°äžä»£ã®4Ké«è§£å床ãã£ã¹ãã¬ã€ã«å¯Ÿå¿ããŸããããããWebRenderã¯Firefoxã ãã«åœ¹ç«ã€ããã§ã¯ãããŸããããŸããWebVRã§ã®äœæ¥ã§ã¯ã4K解å床ã§90 FPSã®é床ã§åç®ã«å¯ŸããŠç°ãªããã¬ãŒã ãã¬ã³ããªã³ã°ããå¿
èŠããããŸãã察å¿ãããã©ã°ãæåã§ã¢ã¯ãã£ãã«ããå ŽåãWebRenderã®æåã®ããŒãžã§ã³ã¯Firefoxã§ãã§ã«å©çšå¯èœã§ããçµ±åäœæ¥ãé²è¡äžã§ãããããããã©ãŒãã³ã¹ã¯æçµãªãªãŒã¹ã®å Žåã»ã©é«ããããŸãããWebRenderã®éçºãç£èŠããå Žåã¯ãGitHubãªããžããªãŸãã¯Quantum Renderãããžã§ã¯ãå
šäœã«é¢ããæ¯é±ã®ãã¥ãŒã¹ãå
¬éããŠããFirefox Nightly Twitterã¢ã«ãŠã³ãã確èªããŠãã ãããèè
ã«ã€ããŠïŒLin Clarkã¯ãMozilla Developer Relationsã®ãšã³ãžãã¢ã§ãã圌女ã¯JavaScriptãWebAssemblyãRustãããã³Servoã䜿çšããŠãããããã°ã©ããŒã®çµµãæãã®ã倧奜ãã§ãã