SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Qt vs. Web – Total Cost of Ownership
Why Web is More Expensive than Qt
Burkhard Stubert – Solopreneur & Chief Engineer, Embedded Use
SoC Costs: Web Much Higher Than Qt
2
QML
Qt/C++
Linux
1-core Cortex-A8
AngularJS
Blink/C++
Linux
4-core Cortex-A9
€ 21.15
€ 9.80 + qt
Δ: € 11.35 - qt
Same Application
(e.g., appliance, printer, STB, TV, IFE, terminals)
Estimated prices per unit
at volume of 1 million
qt = 0 € for Qt LGPLv3
qt > 0 € for Qt Commercial
Outline – Why Web is More Expensive than Qt
• Recap of ARM SoCs: Devices and Costs
• For good UX: Web requires at least quad-core ARM Cortex-A9
• Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11
• Nothing will change any time soon
• Conclusion
4
Recap of ARM SoCs – Example Devices
Architecture Example Devices
Cortex-A57/53 IVI in premium cars (2015), Samsung GS6, Raspberry Pi 3
Cortex-A15 IVI in middle-class cars (2017), Samsung GS4
Cortex-A9 iPhone 4S, IVI in middle-class cars (2013), agricultural terminals
(2017)
Cortex-A8 Premium ovens (2013), Nest thermostat, iPhone 4, In-flight
entertainment (2014),
agricultural terminals (2013), Nokia N9
ARM11 Raspberry Pi 1, iPhone 3G, Nokia N8
ARM9 Nintendo DSi, Lego Mindstorm EV3, VoIP phones (2007)
5
Recap of ARM SoCs – Unit Costs in €
SoC Architecture Cores 1 100 10K 1M
R-CAR M3 Cortex-
A57/53
4/4 202.50 135.00 90.00 60.00
TI AM5728 Cortex-A15 2 124.00 82.65 55.10 36.75
NXP i.MX6 Cortex-A9 4 71.35 45.55 31.70 21.15
NXP i.MX53 Cortex-A8 1 33.05 22.05 14.70 9.80
NXP i.MX35 ARM11 1 16.00 10.65 7.10 4.75
NXP i.MX25 ARM9 1 11.30 7.55 5.05 3.35
6
Outline – Why Web is More Expensive than Qt
• Recap of ARM SoCs: Devices and Costs
• For good UX: Web requires at least quad-core ARM Cortex-A9
• Few high-profile Web applications on embedded systems
• Two cautionary stories: Facebook and Netflix
• Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11
• Nothing will change any time soon
• Conclusion
7
Few Embedded Web Applications
• No surprise: JavaScript frameworks
target mobile and desktop
8
Angular JS:
One framework. Mobile & desktop.
React Native:
Learn once, write anywhere:
Build mobile apps with React
Porsche
918 Spyder
3rd-party apps
Netflix
Orange Livebox
3rd-party apps
Facebook: Abandoning Web for Native
• iPhone 4S not good enough
• Dual-core Cortex-A9, 512MB RAM,
800 MHz, GPU
• Issues
• High memory consumption
• Inconsistent framerates: stuttering
during scrolling and animations
• Sluggish touch tracking
• Hard to find reasons because
debuggers and profilers missing or
wanting
9
The biggest mistake that we made
as a company is betting too much on
HTML5 as opposed to native.
We burned two years.
The mobile user experience is so good
that good enough is not good enough.
The only way we are going to get to
the highest quality level is by
going native.
September 2012
Netflix: Going All In with Web
10
Huge Fragmentation problem:
Wide-range of SoCs for TVs, STBs,
DB/DVD players, smartphones,
tablets, PCs
2009 – 2014:
Mediocre UX with hybrid
QtWebkit approach
From 2014 – Proprietary solution:
• Gibbon rendering engine in JS
• HMI in JS similar to ReactNative
(highly optimised for domain)
Results on SoCs >= Cortex-A8:
• 30fps refresh rate
• 110ms response time
• Not quite a good UX!
Netflix spent
millions of dollars!
With Qt: Better UX
for less dollars!
Outline – Why Web is More Expensive than Qt
• Recap of ARM SoCs: Devices and Costs
• For good UX: Web requires at least quad-core ARM Cortex-A9
• Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11
• Many high-profile Qt applications on embedded systems
• Nothing will change any time soon
• Conclusion
11
Many Embedded Qt Applications
12
1 of Top-3
ROPA
More...
Krone
2 of Top-3 OEMs incl.
Panasonic
Electrolux
eGym
e-bikes
CCI
HAM
7 of Top-15 OEMs
2 EV OEMs
More...
12+ tier1 suppliers
Precor
Outline – Why Web is More Expensive than Qt
• Recap of ARM SoCs: Devices and Costs
• For good UX: Web requires at least quad-core ARM Cortex-A9
• Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11
• Nothing will change any time soon
• Web requires more RAM, flash memory and power
• Web's JIT compilation no match for QML's native compilation
• Web rendering flow badly suited for graphics acceleration
• Conclusion
13
No Changes Soon: RAM, Flash, Power, Startup
• Size of Qt5WebEngineCore: 103MB
• Size of Chromium browser: 42 MB
• Startup time of Chromium browser
on Raspberry Pi 3: 6 seconds
• Power consumption on Macbook
Pro. Time battery lasts when reading
Web pages:
• Safari: 5:30h
• Chrome: 3:40h
• Size of Q5Quick and Qt5Qml: 8MB
• Startup time of Linux and QML
application on iMX6: 1.25s
14
No Changes Soon: Compilation
• Web
• Just-in-time compilation saw huge
speed-ups over last years
• Qt Commercial
• QML compiled into C++ and then into
machine code
• For example: 30% faster startup times
of QML application
• Qt LGPLv3
• Cache compilation of QML/JS in one
run and use in next run
15
No Changes Soon: Rendering Flows
16
Style Rules
HTML CSS
DOM Tree
Render Tree
Layout Tree
Display
QML
QML Scene Graph
Display
OpenGL Scene Graph
Outline – Why Web is More Expensive than Qt
• Recap of ARM SoCs: Devices and Costs
• For good UX: Web requires at least quad-core ARM Cortex-A9
• Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11
• Nothing will change any time soon
• Conclusion
17
SoC Costs: Web Much Higher Than Qt
18
QML
Qt/C++
Linux
1-core Cortex-A8
AngularJS
Blink/C++
Linux
4-core Cortex-A9
€ 21.15
€ 9.80 + qt
Δ: € 11.35 - qt
Same Application
(e.g., appliance, printer, STB, TV, IFE, terminals)
Estimated prices per unit
at volume of 1 million
qt = 0 € for Qt LGPLv3
qt > 0 € for Qt Commercial
Soon to come: Whitepaper on qt.io
Thank you 
Mail: burkhard.stubert@embeddeduse.com
Web: http://www.embeddeduse.com

Weitere ähnliche Inhalte

Was ist angesagt?

HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
S5429_LanceBrown
S5429_LanceBrownS5429_LanceBrown
S5429_LanceBrown
Lance Brown
 
2013 09-02 senzations-bimschas-part3-wiselib
2013 09-02 senzations-bimschas-part3-wiselib2013 09-02 senzations-bimschas-part3-wiselib
2013 09-02 senzations-bimschas-part3-wiselib
Daniel Bimschas
 
Java fx on raspberry pi gerrit grunwald
Java fx on raspberry pi   gerrit grunwaldJava fx on raspberry pi   gerrit grunwald
Java fx on raspberry pi gerrit grunwald
NLJUG
 

Was ist angesagt? (20)

CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...
CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...
CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
virtio
virtiovirtio
virtio
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
Ostech war story using mainline linux for an android tv bsp
Ostech  war story  using mainline linux  for an android tv bspOstech  war story  using mainline linux  for an android tv bsp
Ostech war story using mainline linux for an android tv bsp
 
[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
 
S5429_LanceBrown
S5429_LanceBrownS5429_LanceBrown
S5429_LanceBrown
 
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
 
2013 09-02 senzations-bimschas-part3-wiselib
2013 09-02 senzations-bimschas-part3-wiselib2013 09-02 senzations-bimschas-part3-wiselib
2013 09-02 senzations-bimschas-part3-wiselib
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry Pi
 
Java fx on raspberry pi gerrit grunwald
Java fx on raspberry pi   gerrit grunwaldJava fx on raspberry pi   gerrit grunwald
Java fx on raspberry pi gerrit grunwald
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
 
LAS16-200: SCMI - System Management and Control Interface
LAS16-200:  SCMI - System Management and Control InterfaceLAS16-200:  SCMI - System Management and Control Interface
LAS16-200: SCMI - System Management and Control Interface
 
Host Data Plane Acceleration: SmartNIC Deployment Models
Host Data Plane Acceleration: SmartNIC Deployment ModelsHost Data Plane Acceleration: SmartNIC Deployment Models
Host Data Plane Acceleration: SmartNIC Deployment Models
 
DPDK Summit - 08 Sept 2014 - Ericsson - A Multi-Socket Ferrari for NFV
DPDK Summit - 08 Sept 2014 - Ericsson - A Multi-Socket Ferrari for NFVDPDK Summit - 08 Sept 2014 - Ericsson - A Multi-Socket Ferrari for NFV
DPDK Summit - 08 Sept 2014 - Ericsson - A Multi-Socket Ferrari for NFV
 
NAB 2019 Latest Technical and Business Progress with AV1
NAB 2019 Latest Technical and Business Progress with AV1NAB 2019 Latest Technical and Business Progress with AV1
NAB 2019 Latest Technical and Business Progress with AV1
 
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSPBKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
 
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
 
LAS16-207: Bus scaling QoS
LAS16-207: Bus scaling QoSLAS16-207: Bus scaling QoS
LAS16-207: Bus scaling QoS
 
2013 09-02 senzations-bimschas-part2-smart-santander-experimentation
2013 09-02 senzations-bimschas-part2-smart-santander-experimentation2013 09-02 senzations-bimschas-part2-smart-santander-experimentation
2013 09-02 senzations-bimschas-part2-smart-santander-experimentation
 

Ähnlich wie Qt World Summit 2017: Qt vs. Web - Total Cost of Ownership

Ähnlich wie Qt World Summit 2017: Qt vs. Web - Total Cost of Ownership (20)

Where should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and moreWhere should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and more
 
Cloud Native Camel Design Patterns
Cloud Native Camel Design PatternsCloud Native Camel Design Patterns
Cloud Native Camel Design Patterns
 
BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017
 
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf....NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
 
Accelerated SDN in Azure
Accelerated SDN in AzureAccelerated SDN in Azure
Accelerated SDN in Azure
 
Upperside Webinar- WebRTC from the service provider prism-final
Upperside Webinar- WebRTC from the service provider prism-finalUpperside Webinar- WebRTC from the service provider prism-final
Upperside Webinar- WebRTC from the service provider prism-final
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTC
 
Web Leaps Forward
Web Leaps ForwardWeb Leaps Forward
Web Leaps Forward
 
Robotics technical Presentation
Robotics technical PresentationRobotics technical Presentation
Robotics technical Presentation
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016
 
Web rtc service-provider-nov2013
Web rtc service-provider-nov2013Web rtc service-provider-nov2013
Web rtc service-provider-nov2013
 
DevNexus 2024: Just-In-Time Compilation as a Service for cloud-native Java mi...
DevNexus 2024: Just-In-Time Compilation as a Service for cloud-native Java mi...DevNexus 2024: Just-In-Time Compilation as a Service for cloud-native Java mi...
DevNexus 2024: Just-In-Time Compilation as a Service for cloud-native Java mi...
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
 
IBM POWER8 as an HPC platform
IBM POWER8 as an HPC platformIBM POWER8 as an HPC platform
IBM POWER8 as an HPC platform
 
Node.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel AvivNode.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel Aviv
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
JITServerTalk.pdf
JITServerTalk.pdfJITServerTalk.pdf
JITServerTalk.pdf
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experience
 

Kürzlich hochgeladen

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Kürzlich hochgeladen (20)

%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 

Qt World Summit 2017: Qt vs. Web - Total Cost of Ownership

  • 1. Qt vs. Web – Total Cost of Ownership Why Web is More Expensive than Qt Burkhard Stubert – Solopreneur & Chief Engineer, Embedded Use
  • 2. SoC Costs: Web Much Higher Than Qt 2 QML Qt/C++ Linux 1-core Cortex-A8 AngularJS Blink/C++ Linux 4-core Cortex-A9 € 21.15 € 9.80 + qt Δ: € 11.35 - qt Same Application (e.g., appliance, printer, STB, TV, IFE, terminals) Estimated prices per unit at volume of 1 million qt = 0 € for Qt LGPLv3 qt > 0 € for Qt Commercial
  • 3. Outline – Why Web is More Expensive than Qt • Recap of ARM SoCs: Devices and Costs • For good UX: Web requires at least quad-core ARM Cortex-A9 • Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11 • Nothing will change any time soon • Conclusion 4
  • 4. Recap of ARM SoCs – Example Devices Architecture Example Devices Cortex-A57/53 IVI in premium cars (2015), Samsung GS6, Raspberry Pi 3 Cortex-A15 IVI in middle-class cars (2017), Samsung GS4 Cortex-A9 iPhone 4S, IVI in middle-class cars (2013), agricultural terminals (2017) Cortex-A8 Premium ovens (2013), Nest thermostat, iPhone 4, In-flight entertainment (2014), agricultural terminals (2013), Nokia N9 ARM11 Raspberry Pi 1, iPhone 3G, Nokia N8 ARM9 Nintendo DSi, Lego Mindstorm EV3, VoIP phones (2007) 5
  • 5. Recap of ARM SoCs – Unit Costs in € SoC Architecture Cores 1 100 10K 1M R-CAR M3 Cortex- A57/53 4/4 202.50 135.00 90.00 60.00 TI AM5728 Cortex-A15 2 124.00 82.65 55.10 36.75 NXP i.MX6 Cortex-A9 4 71.35 45.55 31.70 21.15 NXP i.MX53 Cortex-A8 1 33.05 22.05 14.70 9.80 NXP i.MX35 ARM11 1 16.00 10.65 7.10 4.75 NXP i.MX25 ARM9 1 11.30 7.55 5.05 3.35 6
  • 6. Outline – Why Web is More Expensive than Qt • Recap of ARM SoCs: Devices and Costs • For good UX: Web requires at least quad-core ARM Cortex-A9 • Few high-profile Web applications on embedded systems • Two cautionary stories: Facebook and Netflix • Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11 • Nothing will change any time soon • Conclusion 7
  • 7. Few Embedded Web Applications • No surprise: JavaScript frameworks target mobile and desktop 8 Angular JS: One framework. Mobile & desktop. React Native: Learn once, write anywhere: Build mobile apps with React Porsche 918 Spyder 3rd-party apps Netflix Orange Livebox 3rd-party apps
  • 8. Facebook: Abandoning Web for Native • iPhone 4S not good enough • Dual-core Cortex-A9, 512MB RAM, 800 MHz, GPU • Issues • High memory consumption • Inconsistent framerates: stuttering during scrolling and animations • Sluggish touch tracking • Hard to find reasons because debuggers and profilers missing or wanting 9 The biggest mistake that we made as a company is betting too much on HTML5 as opposed to native. We burned two years. The mobile user experience is so good that good enough is not good enough. The only way we are going to get to the highest quality level is by going native. September 2012
  • 9. Netflix: Going All In with Web 10 Huge Fragmentation problem: Wide-range of SoCs for TVs, STBs, DB/DVD players, smartphones, tablets, PCs 2009 – 2014: Mediocre UX with hybrid QtWebkit approach From 2014 – Proprietary solution: • Gibbon rendering engine in JS • HMI in JS similar to ReactNative (highly optimised for domain) Results on SoCs >= Cortex-A8: • 30fps refresh rate • 110ms response time • Not quite a good UX! Netflix spent millions of dollars! With Qt: Better UX for less dollars!
  • 10. Outline – Why Web is More Expensive than Qt • Recap of ARM SoCs: Devices and Costs • For good UX: Web requires at least quad-core ARM Cortex-A9 • Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11 • Many high-profile Qt applications on embedded systems • Nothing will change any time soon • Conclusion 11
  • 11. Many Embedded Qt Applications 12 1 of Top-3 ROPA More... Krone 2 of Top-3 OEMs incl. Panasonic Electrolux eGym e-bikes CCI HAM 7 of Top-15 OEMs 2 EV OEMs More... 12+ tier1 suppliers Precor
  • 12. Outline – Why Web is More Expensive than Qt • Recap of ARM SoCs: Devices and Costs • For good UX: Web requires at least quad-core ARM Cortex-A9 • Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11 • Nothing will change any time soon • Web requires more RAM, flash memory and power • Web's JIT compilation no match for QML's native compilation • Web rendering flow badly suited for graphics acceleration • Conclusion 13
  • 13. No Changes Soon: RAM, Flash, Power, Startup • Size of Qt5WebEngineCore: 103MB • Size of Chromium browser: 42 MB • Startup time of Chromium browser on Raspberry Pi 3: 6 seconds • Power consumption on Macbook Pro. Time battery lasts when reading Web pages: • Safari: 5:30h • Chrome: 3:40h • Size of Q5Quick and Qt5Qml: 8MB • Startup time of Linux and QML application on iMX6: 1.25s 14
  • 14. No Changes Soon: Compilation • Web • Just-in-time compilation saw huge speed-ups over last years • Qt Commercial • QML compiled into C++ and then into machine code • For example: 30% faster startup times of QML application • Qt LGPLv3 • Cache compilation of QML/JS in one run and use in next run 15
  • 15. No Changes Soon: Rendering Flows 16 Style Rules HTML CSS DOM Tree Render Tree Layout Tree Display QML QML Scene Graph Display OpenGL Scene Graph
  • 16. Outline – Why Web is More Expensive than Qt • Recap of ARM SoCs: Devices and Costs • For good UX: Web requires at least quad-core ARM Cortex-A9 • Qt achieves same or better UX on single-core ARM Cortex-A8 and ARM11 • Nothing will change any time soon • Conclusion 17
  • 17. SoC Costs: Web Much Higher Than Qt 18 QML Qt/C++ Linux 1-core Cortex-A8 AngularJS Blink/C++ Linux 4-core Cortex-A9 € 21.15 € 9.80 + qt Δ: € 11.35 - qt Same Application (e.g., appliance, printer, STB, TV, IFE, terminals) Estimated prices per unit at volume of 1 million qt = 0 € for Qt LGPLv3 qt > 0 € for Qt Commercial
  • 18. Soon to come: Whitepaper on qt.io Thank you  Mail: burkhard.stubert@embeddeduse.com Web: http://www.embeddeduse.com