SlideShare a Scribd company logo
WebGL и IL2CPP 
Валентин Симонов 
Field Engineer 
valentin@unity3d.com 
@valyard
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Web Player
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
“У 93% пользователей Kongregate 
уже установлен Unity Web Player” 
David Piao Chiu 
Director of Developer Relations 
Kongregate
Web без плагинов 
• Нет необходимости что-то устанавливать 
• Браузер поддерживает 
весь необходимый функционал 
• Меньше дыр в безопасности 
* Hello Flash Player Update
У вас есть 
Web тайтл в 
продакшене? 
НЕТ 
ДА
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
• Unity 5.0 
• Превью 
• Бесплатно 
5.0b доступна в Бета группе
Demo time!
Немного истории 
• Проект в рамках Hack Week 
• Готовая реализация LLVM из Flash экспорта 
• Что если попробовать экспортить в WebGL?
Немного истории 
• LLVM -> JavaScript 
• Первые эксперименты 15х медленнее
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Mozilla 
• Emscripten 
LLVM-to-JavaScript compiler. 
• ASM.JS 
“Firefox can optimize asm.js code using 32-bit floating point 
operations, which, together with all the other work on 
optimizing asm.js, allows it to run at around 1.5x slower than 
the speed of the same C/C++ when compiled natively.” 
Alon Zakai, Mozilla 
https://hacks.mozilla.org/2014/05/asm-js-performance-improvements-in-the-latest-version-of-firefox-make-games-fly/
C#  JavaScript
C# / UnityScript  
 Mono Compiler  Assembly  
 Patcher  Assembly  
 Stripper  Assembly  
 IL2CPP  C++  
 Emscripten  JavaScript  
 node.js  JavaScript
C# / UnityScript  
 Mono Compiler  Assembly  
 Patcher  Assembly  
 Stripper  Assembly  
 IL2CPP  C++  
 Emscripten  JavaScript  
 node.js  JavaScript
Производительность
http://blogs.unity3d.com/2014/10/07/benchmarking-unity-performance-in-webgl/
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Текущее состояние 
Ограничения как в Web Player 
Пока нет: 
• MovieTexture 
• Networking, кромеWWW (WebSockets) 
• Веб камера и микрофон 
• Сложные возможности аудио 
• Threads, SIMD 
• Дебаггинг скриптов
Ограничения платформы 
• Никакой динамической генерация кода 
• Графика уровня OpenGL ES 2.0 
• Неполная поддержка браузерами 
* Hello Internet Explorer 
• Размер игры
IL2CPP
IL2CPP 
• IL (.NET Intermediate Language) -> C++ 
• Нативный компилятор под каждую 
платформу
Проще добавлять 
новые платформы
Как это влияет на вас?
Как это влияет на вас? 
• Ограничения AOT платформ 
• Дольше компиляция 
• Можно использовать нативные дебагеры и 
профайлеры 
• Можно использовать C++ файлы в проекте
Производительность
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Mono 32 79ms 
Mono 64 69ms 
IL2CPP 32 35ms 
IL2CPP 64 33ms 
Firefox 44ms 
Chrome 61ms 
Safari 64ms 
C++ 64 31ms
WebGL и IL2CPP 
Валентин Симонов 
Field Vodka Engineer 
valentin@unity3d.com 
@valyard
Ad

Recommended

Heyworks: Cравнительный анализ решений для клиент-серверного взаимодействия и...
Heyworks: Cравнительный анализ решений для клиент-серверного взаимодействия и...
DevGAMM Conference
 
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Ontico
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
Ontico
 
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Ontico
 
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
Pavel Tsukanov
 
Павел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузеры
UA Mobile
 
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Ontico
 
Mihail Zachepilo - WebAssembly powered Machine Learning
Mihail Zachepilo - WebAssembly powered Machine Learning
Maria Kuneva
 
CodeFest 2014. Чаптыков Т. — Автоматизация хранения графики в новой онлайн-ве...
CodeFest 2014. Чаптыков Т. — Автоматизация хранения графики в новой онлайн-ве...
CodeFest
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Ontico
 
Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)
Ontico
 
Frontendlab: Cравнить Несравнимое - Юлия Пучнина
Frontendlab: Cравнить Несравнимое - Юлия Пучнина
GeeksLab Odessa
 
Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.
Vladimir Malyk
 
WebGL. Что за технология, почему стоит изучать и как начать ей пользоваться, ...
WebGL. Что за технология, почему стоит изучать и как начать ей пользоваться, ...
Denis Safonov
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?
Vladimir Malyk
 
Как мы адаптировали более 150 сайтов по технологии Dynamically-served JavaScr...
Как мы адаптировали более 150 сайтов по технологии Dynamically-served JavaScr...
Ontico
 
Знакомство с WebAssembly
Знакомство с WebAssembly
Nikita Zimin
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
endeveit
 
CodeFest 2013. Баяндин А. — JavaScript + Webdriver = ♥
CodeFest 2013. Баяндин А. — JavaScript + Webdriver = ♥
CodeFest
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 
JavaScript + Webdriver = ♥
JavaScript + Webdriver = ♥
SQALab
 
Bootstrap3 basics
Bootstrap3 basics
DevOWL Meetup
 
Обучение фронтенд разработке
Обучение фронтенд разработке
ITCrowd Almaty
 
UI, сделай мне хорошо
UI, сделай мне хорошо
ssuser2062cc
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Pavel Dovbush
 
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
DevOWL Meetup
 
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
Ontico
 
Unity3d - простой путь к iPhone приложению
Unity3d - простой путь к iPhone приложению
Yandex
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
DevGAMM Conference
 
3D в браузерных играх, социальных сетях и на мобильных платформах
3D в браузерных играх, социальных сетях и на мобильных платформах
Anton Volkov
 

More Related Content

What's hot (19)

CodeFest 2014. Чаптыков Т. — Автоматизация хранения графики в новой онлайн-ве...
CodeFest 2014. Чаптыков Т. — Автоматизация хранения графики в новой онлайн-ве...
CodeFest
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Ontico
 
Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)
Ontico
 
Frontendlab: Cравнить Несравнимое - Юлия Пучнина
Frontendlab: Cравнить Несравнимое - Юлия Пучнина
GeeksLab Odessa
 
Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.
Vladimir Malyk
 
WebGL. Что за технология, почему стоит изучать и как начать ей пользоваться, ...
WebGL. Что за технология, почему стоит изучать и как начать ей пользоваться, ...
Denis Safonov
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?
Vladimir Malyk
 
Как мы адаптировали более 150 сайтов по технологии Dynamically-served JavaScr...
Как мы адаптировали более 150 сайтов по технологии Dynamically-served JavaScr...
Ontico
 
Знакомство с WebAssembly
Знакомство с WebAssembly
Nikita Zimin
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
endeveit
 
CodeFest 2013. Баяндин А. — JavaScript + Webdriver = ♥
CodeFest 2013. Баяндин А. — JavaScript + Webdriver = ♥
CodeFest
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 
JavaScript + Webdriver = ♥
JavaScript + Webdriver = ♥
SQALab
 
Bootstrap3 basics
Bootstrap3 basics
DevOWL Meetup
 
Обучение фронтенд разработке
Обучение фронтенд разработке
ITCrowd Almaty
 
UI, сделай мне хорошо
UI, сделай мне хорошо
ssuser2062cc
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Pavel Dovbush
 
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
DevOWL Meetup
 
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
Ontico
 
CodeFest 2014. Чаптыков Т. — Автоматизация хранения графики в новой онлайн-ве...
CodeFest 2014. Чаптыков Т. — Автоматизация хранения графики в новой онлайн-ве...
CodeFest
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Ontico
 
Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)
Ontico
 
Frontendlab: Cравнить Несравнимое - Юлия Пучнина
Frontendlab: Cравнить Несравнимое - Юлия Пучнина
GeeksLab Odessa
 
Современный фронтенд за 30 минут.
Современный фронтенд за 30 минут.
Vladimir Malyk
 
WebGL. Что за технология, почему стоит изучать и как начать ей пользоваться, ...
WebGL. Что за технология, почему стоит изучать и как начать ей пользоваться, ...
Denis Safonov
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?
Vladimir Malyk
 
Как мы адаптировали более 150 сайтов по технологии Dynamically-served JavaScr...
Как мы адаптировали более 150 сайтов по технологии Dynamically-served JavaScr...
Ontico
 
Знакомство с WebAssembly
Знакомство с WebAssembly
Nikita Zimin
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
endeveit
 
CodeFest 2013. Баяндин А. — JavaScript + Webdriver = ♥
CodeFest 2013. Баяндин А. — JavaScript + Webdriver = ♥
CodeFest
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 
JavaScript + Webdriver = ♥
JavaScript + Webdriver = ♥
SQALab
 
Обучение фронтенд разработке
Обучение фронтенд разработке
ITCrowd Almaty
 
UI, сделай мне хорошо
UI, сделай мне хорошо
ssuser2062cc
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Pavel Dovbush
 
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
DevOWL Meetup
 
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
Ontico
 

Similar to Unity: WebGL и IL2CPP — будущее скриптинга в Unity» (6)

Unity3d - простой путь к iPhone приложению
Unity3d - простой путь к iPhone приложению
Yandex
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
DevGAMM Conference
 
3D в браузерных играх, социальных сетях и на мобильных платформах
3D в браузерных играх, социальных сетях и на мобильных платформах
Anton Volkov
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON
 
Веб, Игры, С++ : Темная Магия / Кирилл Шабордин (Ciliz :: W4)
Веб, Игры, С++ : Темная Магия / Кирилл Шабордин (Ciliz :: W4)
DevGAMM Conference
 
WebAssembly
WebAssembly
Sergey Rubanov
 
Unity3d - простой путь к iPhone приложению
Unity3d - простой путь к iPhone приложению
Yandex
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
DevGAMM Conference
 
3D в браузерных играх, социальных сетях и на мобильных платформах
3D в браузерных играх, социальных сетях и на мобильных платформах
Anton Volkov
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON
 
Веб, Игры, С++ : Темная Магия / Кирилл Шабордин (Ciliz :: W4)
Веб, Игры, С++ : Темная Магия / Кирилл Шабордин (Ciliz :: W4)
DevGAMM Conference
 
Ad

More from DevGAMM Conference (20)

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...
DevGAMM Conference
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
DevGAMM Conference
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
DevGAMM Conference
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
DevGAMM Conference
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)
DevGAMM Conference
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
DevGAMM Conference
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
DevGAMM Conference
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
DevGAMM Conference
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
DevGAMM Conference
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
DevGAMM Conference
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
DevGAMM Conference
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
DevGAMM Conference
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...
DevGAMM Conference
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
DevGAMM Conference
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
DevGAMM Conference
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
DevGAMM Conference
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
DevGAMM Conference
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
DevGAMM Conference
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
DevGAMM Conference
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
DevGAMM Conference
 
The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...
DevGAMM Conference
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
DevGAMM Conference
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
DevGAMM Conference
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
DevGAMM Conference
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)
DevGAMM Conference
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
DevGAMM Conference
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
DevGAMM Conference
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
DevGAMM Conference
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
DevGAMM Conference
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
DevGAMM Conference
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
DevGAMM Conference
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
DevGAMM Conference
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...
DevGAMM Conference
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
DevGAMM Conference
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
DevGAMM Conference
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
DevGAMM Conference
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
DevGAMM Conference
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
DevGAMM Conference
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
DevGAMM Conference
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
DevGAMM Conference
 
Ad

Unity: WebGL и IL2CPP — будущее скриптинга в Unity»