Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
-
Upload
flash-gamm -
Category
Presentations & Public Speaking
-
view
334 -
download
3
description
Transcript of Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
WebGL и IL2CPP
Валентин СимоновField [email protected]@valyard
Web Player
“У 93% пользователей Kongregate уже установлен Unity Web Player”David Piao ChiuDirector of Developer RelationsKongregate
Web без плагинов• Нет необходимости что-то устанавливать• Браузер поддерживает
весь необходимый функционал• Меньше дыр в безопасности
* Hello Flash Player Update
У вас есть Web тайтл в
продакшене?
НЕТ
ДА
• Unity 5.0• Превью• Бесплатно
5.0b доступна в Бета группе
Demo time!
Немного истории• Проект в рамках Hack Week• Готовая реализация LLVM из Flash экспорта• Что если попробовать экспортить в WebGL?
Немного истории• LLVM -> JavaScript• Первые эксперименты 15х медленнее
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/
Текущее состояниеОграничения как в Web PlayerПока нет:• MovieTexture• Networking, кроме WWW (WebSockets)• Веб камера и микрофон• Сложные возможности аудио• Threads, SIMD• Дебаггинг скриптов
Ограничения платформы• Никакой динамической генерация кода• Графика уровня OpenGL ES 2.0• Неполная поддержка браузерами
* Hello Internet Explorer
• Размер игры
IL2CPP
IL2CPP• IL (.NET Intermediate Language) -> C++• Нативный компилятор под каждую
платформу
Проще добавлять новые платформы
Как это влияет на вас?
Как это влияет на вас?• Ограничения AOT платформ• Дольше компиляция• Можно использовать нативные дебагеры и
профайлеры• Можно использовать C++ файлы в проекте
Производительность
Mono 32 79msMono 64 69msIL2CPP 32 35msIL2CPP 64 33msFirefox 44msChrome 61msSafari 64msC++ 64 31ms
WebGL и IL2CPP
Валентин СимоновField Vodka [email protected]@valyard