SlideShare a Scribd company logo
1 of 20
Ужасы мобильной
графики
Филипп Кекс
Ужасы мобильной
графики
Филипп Кекс
Мобильники против
консолей
Мобильники против консолей
PS4 1843 gflops
Xbox One 1310 gflops
iPhone 7 729 gflops
Samsung Galaxy S8 519 gflops
Xbox 360 240 gflops
PS3 192 gflops
iPhone 6S 120 gflops
The Vanishing of Ethan Carter Nitro Nation Online
Покодим
История
1970-е - Первые графические акселераторы
1990-е - Карты Voodoo с Glide API
1990-е - OpenGL и DirectX
2000е - Появился термин GPU от Nvidia (VPU от ATI)
2003 - OpenGL ES (API для мобильной графики)
2011 - WebGL (основан на OGLES 2.0)
2016 - Vulkan
2017 - РИТ++
Ожидание Реальность
Ужас №1 : API
Глобальное состояние
Шейдеры в виде кода
Нет управления памятью
Нет управления блендингом
Никаких гарантий
Ужас №2 : Инструменты
Ужасное качество
Разные инструменты для каждого чипа
Производители аппаратов запрещают
использовать инструменты
Ужас №3 : Перегрев
Снижает fps (throttling)
Губит батарею
Ограничивает доступ к ресурсам
Война спецификаций
Бенчмарк
Модель Вершин (20мс) Пиксель (20мс)
Galaxy S4 500k 7 экранов
Galaxy S5 937k 20 экранов
Galaxy S6 260k 10 экранов
Galaxy S7 272k 15 экранов
Ужас №4 : Многообразие
Сотни GPU
Тысячи комбинаций
Неадекватные сочетания
Как с этим жить?
Светлое будущее API
Нет глобального состояния
Управления памятью
Единый API для с PC
Война продолжается
Слишком сложный?
Не для всех (WebGL?)
Инструменты станут лучше?
Нет :(
Делайте свои инструменты
chrome://tracing
Что делать с перегревом?
Средняя длина игровой сессии (15 мин)
30fps для среднего игрока
Только 60% ресурсов
Железо попроще дало бы лучший
результат
Как бороться с многообразием
Ручные настройки графики не работают
для мобильников
Автоматические настройки и LOD’ы
Определяйте по модели аппарата (iOS)
или модели чипсета (Android)
Всех не удовлетворить
Заключение
Мобильники не для графики
Игры и графические приложения всегда
останутся бонусной фичей
Разработчики не будут скучать
Играйте в игры на PC и консолях ;)
Филипп Кекс
●http://blog.filippkeks.com
●linkedin.com/in/filippkeks
●twitter.com/filippkeks

More Related Content

Similar to Ужасы мобильной графики / Филипп Кекс (Creative Mobile)

SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON
 
Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)Natalia Efimtseva
 
WillArk: Interesting facts about Japanese game industry
WillArk: Interesting facts about Japanese game industryWillArk: Interesting facts about Japanese game industry
WillArk: Interesting facts about Japanese game industryDevGAMM Conference
 
Ctypes в игровых приложениях на python
Ctypes в игровых приложениях на pythonCtypes в игровых приложениях на python
Ctypes в игровых приложениях на pythonPyNSK
 
Рекомендации для подбора игрового ноутбука.pptx
Рекомендации для подбора игрового ноутбука.pptxРекомендации для подбора игрового ноутбука.pptx
Рекомендации для подбора игрового ноутбука.pptxmasha bazyleva
 
Hakr 10 14-myjurnal.ru
Hakr 10 14-myjurnal.ruHakr 10 14-myjurnal.ru
Hakr 10 14-myjurnal.ruVasya Pupkin
 
Earn millions with a casual gameplay
Earn millions with a casual gameplayEarn millions with a casual gameplay
Earn millions with a casual gameplayAnton Volkov
 
project "Komputer for the gamer"
project "Komputer for the gamer"project "Komputer for the gamer"
project "Komputer for the gamer"artemchik
 
Тенденции и тренды
Тенденции и трендыТенденции и тренды
Тенденции и трендыLysenko Andrey
 
конкурс по выбору подрядчика компьютеры
конкурс по выбору подрядчика   компьютерыконкурс по выбору подрядчика   компьютеры
конкурс по выбору подрядчика компьютерыАлександр Дрон
 
Computers and internet
Computers and internetComputers and internet
Computers and internetAlian3784
 
Xkr072015-myjurnal.ru
Xkr072015-myjurnal.ruXkr072015-myjurnal.ru
Xkr072015-myjurnal.ruVasya Pupkin
 
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSPCodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSPCodeFest
 
Игрушки на вырост. Программируем Lego-роботов
Игрушки на вырост. Программируем Lego-роботовИгрушки на вырост. Программируем Lego-роботов
Игрушки на вырост. Программируем Lego-роботовAlexander Kolotov
 
AR/VR market, 2020-2025 (rus)
 AR/VR market, 2020-2025 (rus) AR/VR market, 2020-2025 (rus)
AR/VR market, 2020-2025 (rus)Helen Ivanova
 
Sergey Galyonkin: SteamSpy: all secrets of Valve unveiled
Sergey Galyonkin: SteamSpy: all secrets of Valve unveiledSergey Galyonkin: SteamSpy: all secrets of Valve unveiled
Sergey Galyonkin: SteamSpy: all secrets of Valve unveiledDevGAMM Conference
 
Zillion Whales: как отрисовать 12 000 спрайтов в Unity
Zillion Whales: как отрисовать 12 000 спрайтов в UnityZillion Whales: как отрисовать 12 000 спрайтов в Unity
Zillion Whales: как отрисовать 12 000 спрайтов в UnitySasha Semenov
 

Similar to Ужасы мобильной графики / Филипп Кекс (Creative Mobile) (19)

SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)
 
WillArk: Interesting facts about Japanese game industry
WillArk: Interesting facts about Japanese game industryWillArk: Interesting facts about Japanese game industry
WillArk: Interesting facts about Japanese game industry
 
Ctypes в игровых приложениях на python
Ctypes в игровых приложениях на pythonCtypes в игровых приложениях на python
Ctypes в игровых приложениях на python
 
Рекомендации для подбора игрового ноутбука.pptx
Рекомендации для подбора игрового ноутбука.pptxРекомендации для подбора игрового ноутбука.pptx
Рекомендации для подбора игрового ноутбука.pptx
 
Hakr 10 14-myjurnal.ru
Hakr 10 14-myjurnal.ruHakr 10 14-myjurnal.ru
Hakr 10 14-myjurnal.ru
 
Earn millions with a casual gameplay
Earn millions with a casual gameplayEarn millions with a casual gameplay
Earn millions with a casual gameplay
 
project "Komputer for the gamer"
project "Komputer for the gamer"project "Komputer for the gamer"
project "Komputer for the gamer"
 
Тенденции и тренды
Тенденции и трендыТенденции и тренды
Тенденции и тренды
 
Vid
VidVid
Vid
 
конкурс по выбору подрядчика компьютеры
конкурс по выбору подрядчика   компьютерыконкурс по выбору подрядчика   компьютеры
конкурс по выбору подрядчика компьютеры
 
Computers and internet
Computers and internetComputers and internet
Computers and internet
 
Xkr072015-myjurnal.ru
Xkr072015-myjurnal.ruXkr072015-myjurnal.ru
Xkr072015-myjurnal.ru
 
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSPCodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
CodeFest 2011. Коротецкий М. — Особенности разработки игр для iOS, Android, PSP
 
Игрушки на вырост. Программируем Lego-роботов
Игрушки на вырост. Программируем Lego-роботовИгрушки на вырост. Программируем Lego-роботов
Игрушки на вырост. Программируем Lego-роботов
 
AR/VR market, 2020-2025 (rus)
 AR/VR market, 2020-2025 (rus) AR/VR market, 2020-2025 (rus)
AR/VR market, 2020-2025 (rus)
 
Sergey Galyonkin: SteamSpy: all secrets of Valve unveiled
Sergey Galyonkin: SteamSpy: all secrets of Valve unveiledSergey Galyonkin: SteamSpy: all secrets of Valve unveiled
Sergey Galyonkin: SteamSpy: all secrets of Valve unveiled
 
Kirill Zolovkin, OctoBox Interactive
Kirill Zolovkin, OctoBox InteractiveKirill Zolovkin, OctoBox Interactive
Kirill Zolovkin, OctoBox Interactive
 
Zillion Whales: как отрисовать 12 000 спрайтов в Unity
Zillion Whales: как отрисовать 12 000 спрайтов в UnityZillion Whales: как отрисовать 12 000 спрайтов в Unity
Zillion Whales: как отрисовать 12 000 спрайтов в Unity
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Ужасы мобильной графики / Филипп Кекс (Creative Mobile)