ä»æ¥ã¯ãYandex.Browserã®1ã€ã®èå³æ·±ããã°ã«ã€ããŠã話ããŸãããã®ãã°ãä¿®æ£ãããšãChromiumãããžã§ã¯ãå
šäœã§ã¬ã³ããªã³ã°ã倧å¹
ã«å éãããŸããã ãããŠãåé¡ã«å¯ŸåŠããã®ã«åå幞éã ã£ãç§ãã¡ã®ããŒã ã®ã¹ãã·ã£ãªã¹ãã§ããããªã«drBasic PleshivtsevãšVadim Lof Petrovãç§ãå©ããŠãããŸãã ç§ã¯åœŒãã«åºãäžããŸãã
æ®éã§ã¯ãªããã°
ç§ã®ååã¯ã·ãªã«ã§ããããã·ãã«ã¹ã¯ã®Yandex.Browserã®å
éšã³ã³ããŒãã³ãã®ã°ã«ãŒãã§åããŠããŸãã ããã»ã©é©ãã¹ãããšã§ã¯ãªãæ¥ãYandex.Browserããã¹ãããååã¯ãFlash Playerã§ãããªãåçããåé¡ãåçŸããŸããã ãããŠããã©ãŠã¶ã®ãã®éšåïŒã¡ãã£ã¢ãã³ãŒããã¯ãããã ãïŒãæ
åœããã®ã¯ç§ãã¡ã®ã°ã«ãŒããªã®ã§ãã¿ã¹ã¯ã¯ç§ã®ãšããã«è¡ããŸããã ãã°ã¯ãå
ã®ãµããããŠããªããšããŸãããã [åç]ãã¿ã³ãã¯ãªãã¯ãããšããããªãæ£ããåçãã代ããã«é»ãåè§åœ¢ã衚瀺ãããŸããã 以åã«ãã®çç¶ã«åºäŒã£ãã®ã§ãåé¡ãããªãè¿
éã«ç¹å®ã§ãããšæåŸ
ããŠããŸããã ããããç§ã¯ééã£ãŠããŸããã
æåéããæåã®æ°åã§ãé»ãé·æ¹åœ¢ãåžžã«è¡šç€ºãããããã§ã¯ãªããéæã¿ã€ãã®ãã©ãã·ã¥èŠçŽ ã«å¯ŸããŠã®ã¿è¡šç€ºãããããšãããããŸããã åéæã ããŠããããã°æã«ãã£ãããããã®ããã§ã«ãããŸãã ãã©ãŠã¶ã®ãããã°ããŒãžã§ã³ãåéããŠå®è¡ããŸããããã°ã¯ãããŸããã ãããŠãããã¯èŠéã§ãã ãããã°ããŒãžã§ã³ãšãªãªãŒã¹ããŒãžã§ã³ã®äžäžèŽã¯ãåžžã«ãšãŠã楜ãããã®ã§ãã ãã®ããããªãªãŒã¹ããŒãžã§ã³ãåéããããšã«ããŸããã åéãå®è¡ããã°ãªãã
ç§ã¯ããã«ã€ããŠèããŸããã ãªãªãŒã¹ãã«ããšãµãŒããŒããã«ããããªãªãŒã¹ã®éãã¯äœã§ããïŒ ã©ã€ãã©ãªã®ã¬ã€ã¢ãŠããããã«æãåºããŸããã éçºè
ã¯ãshared_libraryã¢ãŒãã§ãã©ãŠã¶ãæ§ç¯ããŸãã ããã«ãããdllã®æ°ãå¢ããŸããããã«ãæéã倧å¹
ã«ç¯çŽã§ããŸãã ãã©ãŠã¶ã¯static_libraryã¢ãŒãã§é
åžãããŸãããã®ã¢ãŒãã§ã¯ãå°æ°ã®å€§ããªdllã®ã¿ãåéãããŸãã static_libraryãã©ã°ãèšå®ããå®å
šãªã¢ã»ã³ããªãå®è¡ããŸãã link.exeããã¹ãŠã®RAMããã£ããæ¶è²»ããæ§åã芳å¯ããŸãããããã16 GBã®RAMã§ãã¹ãŠã®äººã«ååã§ããã¬ã€ã¢ãŠãã¯ã¹ã¯ãããã¡ã€ã«ã®åœ¢ã§ããŒãã³ã°ããããšãªãçµäºããŸãã ç§ã¯ãããå§ããŠããŸãã ãã°ã¯ãããŸããã
ç§ã¯çå£ã«èããŸããã ãã«ããµãŒããŒãå
¬åŒãã©ã°ä»ãã®ãªãªãŒã¹Yandex.BrowserãåéããããšãæãåºããŸãããããã«ãããåäœãå°ãå€æŽãããŸãïŒåŸã§è©³ãã説æããŸãïŒã ãã®ãã©ã°ã§åéããŸãã éããæã§ããã©ãŠã¶ãèµ·åããŸãã ããªãã¯ä»æšæž¬ããŸãããïŒ ãã°ã¯ãããŸããã
ããããç§ã¯çå£ã«äžå®ã«ãªããå
šåã§èãå§ããŸããã ãã°ããããŠããµãŒããŒãVisual Studio 2013ã䜿çšããŠYandex.Browserãæ§ç¯ããŠããããšã«æ°ä»ããŸããããããã2015ããŒãžã§ã³ã䜿çšããŸããã 2013幎çã§åéããŠããŸãã ç§ã¯ãããå§ããŠããŸãã ãã°ããããŸãïŒ èª°ãç§ããã®ãšã©ãŒããšãŠãåãã ãšæã£ãã ããã
åé¡å
šäœãVSããŒãžã§ã³ã®ã¿ã«ãããšèããå Žåãããªãã¯ééã£ãŠããŸãã ãã®ãã°ã¯ããããã°ããŒãžã§ã³ã®ãã©ãŠã¶ãŒã§ã¯å®éã«ã¯åçãããŸããã§ããã é»ãé·æ¹åœ¢ã®ãšã©ãŒã衚瀺ãããããã«ã¯ãVS 2013ã䜿çšããã ãã§ãªããå
¬åŒã®ãã©ã°ã䜿çšããéçã¬ã€ã¢ãŠãã§ãã©ãŠã¶ãŒãæ§ç¯ããå¿
èŠãããããšãå®éšçã«ç¢ºç«ããããšãã§ããŸããã ãã®å¥åŠãªæ¯ãèãã®çç±ã«ã€ããŠã¯å°ãåŸã§åŠã³ãŸãã
次ã®2æ¥éãåæ§ã«èå³æ·±ããã®ã§ããã ãããã°äžã«ãFlash Playerãã©ã°ã€ã³èªäœãã¿ã¹ã¯ãæ£ããå®è¡ããŠããããšãã€ãŸããããªãåçãããŠããããšãç解ã§ããŸããã ãã©ãŠã¶ãšã®çµ±åã§ãåé¡ã¯çºçããŸããã§ããã 圌ã®äœåã®çµæã¯ã¬ã³ããªã³ã°ã®ããã«éä¿¡ãããŸããããäœããã®çç±ã§ç»é¢äžã§ãŸã£ããç°ãªããã®ãèŠãŸããã ããã¯ãã¬ã³ããªã³ã°ãæ
åœãããã©ãŠã¶ã®éšåã§ãã°ãæ¢ãå¿
èŠãããããšãæå³ããŸãã ãããŠãããã§ãã®èšèããŽã¡ãã£ã ã«æž¡ããŸãã
æé©åãã
æ¢ã«ç解ããããã«ãVadimã¯çŸåšé£çµ¡ãåãåã£ãŠããŸãã ç§ã¯ã¢ã¹ã¯ã¯ã®Yandex.Browserã¬ã³ããªã³ã°ãšã³ãžã³ã®éçºããŒã ã§åããŠããŸãã Yandex.BrowserãŸãã¯Chromiumã§ã®ã¬ã³ããªã³ã°ã®äžè¬çãªæ¹æ³ã«ã€ããŠã®ããã€ãã®èšèã ãã©ãŠã¶ãŠã£ã³ããŠã«è¡šç€ºããããã®ã¯ãã¹ãŠãPhotoshopã®ããã«ãããŸããŸãªã¬ã€ã€ãŒïŒWebããŒãžãã€ã³ã¿ãŒãã§ã€ã¹ïŒãçµã¿åãããçµæã§ãã Compositorã³ã³ããŒãã³ãïŒãŸãã¯Chromeã®Compositor == CCïŒã¯ããããã®ã¬ã€ã€ãŒã®æäœãæ
åœããŸãã ãããããã§ã«ãã¹ãŠã®ã¬ã€ã€ãŒãæç»ããããã«ãSSã¯ç¹å¥ãªãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªSkiaãåŒã³åºããŸãã
Cyrilãšäžç·ã«ãªã£ãŠããã°ã®çè·¡ãSkiaã«äŒããããšã«æ°ä»ããŸããã ã©ããæ£ç¢ºã«ç解ãããã¯ãŸã æ®ã£ãŠããŸããã 幞ããªããšã«ãç§ã«ã¯è²ŽéãªæãããããããŸããã ã»ãŒæåã«ãã·ãªã«ã¯åœŒå¥³ã«èšåããŸããã åé¡ã¯ãéææ§ã®ãããã©ãã·ã¥èŠçŽ ã®å Žåã«ã®ã¿åé¡ãçºçããããšã§ãã ãã®ãããªèŠçŽ ãç»é¢ã«æç»ããã«ã¯ããã©ãŠã¶ã§ãããªç»åãšèæ¯ãçµã¿åãããå¿
èŠããããŸãã ãã®ãããSkiaã«ã¯ãã¬ã³ããæ
åœããç¹å¥ãªé¢æ°SrcATopããããŸãã æ°åã®æ€çŽ¢ã§ãChromeã§åæ§ã®åé¡ãå«ããã°ã¬ããŒãããã§ã«èŠã€ãããŸããã
ãã£ã㌠åé¡ã®åå ãç¹å®ã®æ©èœã«éå®ããŸããã ãããŠä»ã泚ç®ã ã³ãŒãã®ãã®ã»ã¯ã·ã§ã³ã«ã¯ãšã©ãŒã¯å«ãŸããŠããŸããã ãŸã£ãããããŸããã ãããŠããŠãŒã¶ãŒã«éä¿¡ãããæçµãã«ããé€ããã¹ãŠã®ãã«ãã§å®å
šã«æ©èœããŸããã ãããŠVisual Studio 2013ã®ã¿ããããŠãã®ç¬éãCyrilããã®ãã°ããé¢çœãããšåŒãã çç±ã«æ°ä»ããŸããã
ãšã©ãŒã®åçŸæ§ã«åœ±é¿ããä»ã®éããç解ãå§ããŸããã æåŸã«ã®ã¿äœ¿çšãããå
¬åŒã®æãæãåºãæãæ¥ãŸããã ãšãããããã®ãã©ã°ã¯æé©åããŸãã¯ããã/ LTCGãã©ã¡ãŒã¿ãŒã«åœ±é¿ããŸãã æå®ããããšãã³ã³ãã€ã©ã¯ããã°ã©ã å
šäœã®éåžžã«æ·±å»ãªæé©åãå®è¡ããŸãã æéããããããããã®ãããªã¢ã»ã³ããªã¯åéãããŸããã ããããæé©åã¯ã©ã®ããã«ãšã©ãŒã«ã€ãªããã®ã§ããããïŒ ãããç解ããã«ã¯ãå°ããªãã©ãã·ã¥ããã¯ãå¿
èŠã§ãã
2011幎ãChromiumãããžã§ã¯ãã¯éåžžã«å€§ããè€éã«ãªã£ããããVisual Studio 2010ãªã³ã«ãŒã¯ããªãœãŒã¹äžè¶³ã®ããããã€ãŠãã¹ãŠã®æé©åãšãªã³ã¯ã§ããŸããã§ãã ã åé¡ãåé¿ããããã«ãéçºè
ã¯ããã©ã«ãã§ãã¹ãŠã®ãµããããžã§ã¯ãïŒããã³ãããã®æ°å以äžïŒãæé©åããããšããäœæ¥ã®é床ïŒ/ O2ïŒã§ã¯ãªããã³ãŒãã®ãµã€ãºïŒ/ O1ïŒã«ãã£ãŠæ±ºå®ããŸããã ãããŠããšãªãŒãã§æãæ¹å€çãªäººããŸãã¯ææè
ããã®ç¶æ³ã§å¯åããªãã£ã人ã ãã®ããã«ã/ O2ããªã³ã«ããŸããã äŸãã°ã圌ãã¯CCãšSkiaã®ããã«ãããããŸããã 2013幎ã®ã¿ãSkiaã§ã®ãªãã¡ã¯ã¿ãªã³ã°æã«æé©åã誀ã£ãŠå€±ãããŸããã ãŸãã2幎åŸã«Chromiumã§å¥ã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ãããªãã£ãå Žåãã³ãŒãã®äžéšãå®ååãããŠããããŒã«è»¢éãããçµæãšããŠã誰ãæ°ä»ããªãã£ãã§ãããã ãããŠããããããã¹ãŠãå§ãŸããŸããã
ãããŠããããå§ãŸããŸããã ãªãªãŒã¹ãã©ãŠã¶ãŒãå
¬åŒã®ãã©ã°ã§ã¢ã»ã³ãã«ããããšãç°ãªãæé©åç®æšïŒé床ããµã€ãºïŒãæã€ã©ã€ãã©ãªãŒã1ã€ã®dllã«ãªããŸãã ããèªäœã¯ãäœãæªãå
åã§ã¯ãããŸããã ããšãã°ãVisual Studio 2015ã§ã¯ãããã«ããåé¡ã¯çºçããŸããã ã¹ã¿ãžãªã¯æé©åã«1æéããããå®å
šã«æ©èœããã³ãŒããçæããŸãã ãããã2013幎ããŒãžã§ã³ã«çœ®ãæãããšããã¹ãŠãå£ããŸãã ãªãã§ïŒ
Skiaã§ã®ãã¬ã³ããæ
åœããSrcATopé¢æ°ã¯ãxmm0ããã³xmm1ã¬ãžã¹ã¿ãä»ããŠ2ã€ã®ãã©ã¡ãŒã¿ãŒãåããŸãã ãããŠãã»ãšãã©ã®å Žåãæ£ããæ©èœããŸãã ãããããããã°äžã«ãªããšãèŠã€ããã®ã§ãVS 2013ãšé£ããæé©åãããã«è¿œå ãã䟡å€ããããé¢æ°ã¯ãå¿çã§æåã®ã¬ãžã¹ã¿ã®å
容ãè¿ãå§ããçšåºŠã«çž®éããŸãã ãããã£ãŠããããªã®ä»£ããã«äžå®ã®é»ãèæ¯ã衚瀺ãããŸããã ç¯äººã¯VS 2013ã®èª€ã£ãã³ãŒãçæã§ããã
WebãµãŒãã£ã³ã®é«éå
å¿
èŠã«å¿ããŠãSrcATopãå°ããããããšã«ããããã°ãããŒã«ã«ã§ãä¿®æ£ãã§ããŸãã ããããSkiaã®ããã«ã¬ã³ããªã³ã°ã«éèŠãªãã®ãããªã³ã³ããŒãã³ãã«ã¯é床ã®æé©åãæ¬ ããŠãããšæãããŸããã ããã§ãSkiaã®é床æé©åãèšå®ããæ°ãããã«ããäœæããŸããã ãã¡ããããã°ã¯ãªããªããŸããã ã¿ã¹ã¯ãéããŠãè¶ã飲ãããšãã§ããããã«æããŸãããéããŸãã ç§ã¯å¥ã®ããšãããªããã°ãªããŸããã§ããã
Yandex.BrowserããŒã ã¯ãæ°å¹ŽéChromiumã®éçºã«åå ããŠããŸãã ãããŠãããã¯ãã°ã®ä¿®æ£ã ãã§ã¯ãããŸããã ãã€ãŠãååã¯HTTP / 2ã®ãµãŒããŒããã·ã¥ã®å®è£
ãšãWindowsã®ãããžã§ã¯ãã®ãã«ãã·ã¹ãã ãæ¯æŽããŠããŸããã ãããã£ãŠãä»åã¯åé¡ã®è§£æ±ºçãææ¡ããæ€èšã®ããã«æ¢æã®ã³ããããéä¿¡ããŸãããããã¯çãè°è«ã®åŸã«æ¡çšãããŸããã
ç§ãšåãããã«ãChromiumã®éçºè
ã¯ãã©ãŠã¶ãŒã®ããã©ãŒãã³ã¹ã®å€åãèŠãããšã«èå³ããããŸããã ãããã£ãŠã圌ãã¯ããããç¯å²ã®ããã©ãŒãã³ã¹ãã¹ããå®æœããŸããã Windowsã®ã»ãšãã©ãã¹ãŠã®ææšãæé·ããŠããŸãã äœã¬ãã«ã®ãã¹ãã®äžéšã§ã¯ã2ã3åã®æ¹åã瀺ãããŸããã äž»èŠãªãµã€ãïŒã€ãŸããæ¯æ¥ã®WebãµãŒãã£ã³ïŒã®çµ±åFPSãã¹ãã¯6.5ïŒ
å¢å ããŸããã å
¥åã«å¯Ÿããå¿çæ§ã20ã30ïŒ
åäžããŸããã Chromiumãããžã§ã¯ãã§ã¯ãåæ§ã®ã¬ãã«ã®æé©åã¯æ¯æ¥è¡ãããŸããã
VS 2010ãé·ãé䜿çšãããŠããªãããšãèãããšããããžã§ã¯ãå
šäœã§é床ã®æé©åãæå¹ã«ããããšããå§ãããŸãã ããã«ãéåžžã®ãªãªãŒã¹ãã«ãïŒå
¬åŒãã©ã°ãªãïŒã¯åžžã«é床ãå®å
šã«æé©åãããŠããããã¹ãã«åé¡ã¯ãããŸããã§ããã ããããããã¯ãŸã£ããç°ãªã話ã§ãã
PSãã®ç¹å®ã®åé¡ã¯ã2ã€ã®ãªãã£ã¹ã«ã®ã¿åœ±é¿ããŸããã å®éãYandex.Browserã¯ã¢ã¹ã¯ã¯ãšããã·ãã«ã¹ã¯ã ãã§ãªãéçºãããŠããŸãã ãµã³ã¯ãããã«ãã«ã¯ããšã«ããªã³ãã«ã¯ãããžãããŽãŽããããã³ã¹ã¯ãããšãã«ãããŒã ããããŸãã ãããŠãããªãããããã«åå ããããšã«èå³ããããªãã yandex.ru/jobsãèŠãŠãã ãã ã