The document discusses the Enlightenment Foundation Libraries (EFL), an open source UI toolkit designed for embedded systems. EFL was created for Enlightenment 17 and focuses on optimization for devices with limited resources. It includes components like Evas for rendering, Edje for themes/layout, and Elementary for widgets. EFL is used in Samsung products like smartwatches, cameras, phones and TVs. The presentation covers EFL architecture, optimizations, current developments improving performance and functionality, and its future direction.
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan DriverRyo Jin
At XDC2016 Day 1, Samsung R&D talking about Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver. Lots of technical details there for those interested in Vulkan and friends.
Built for performance: the UIElements Renderer – Unite Copenhagen 2019Unity Technologies
In this technical talk, we will describe the science behind the UIElements rendering system, built from the ground up for retained-mode UI. It uses every CPU/GPU trick in the book to render thousands of different elements onscreen in a fraction of a millisecond, all on one thread. This powerful UI performance and optimization tool also supports complex features like clipping and vector graphics, even on low-end devices.
Speaker: Wessam Bahnassi – Unity
Watch the session on YouTube: https://youtu.be/zeCdVmfGUN0
TensorFlow is the most popular machine learning framework nowadays. TensorFlow Lite (TFLite), open sourced in late 2017, is TensorFlow’s runtime designed for mobile devices, esp. Android cell phones. TFLite is getting more and more mature. One the most interesting new components introduced recently are its GPU delegate and new NNAPI delegate. The GPU delegate uses Open GL ES compute shader on Android platforms and Metal shade on iOS devices. The original NNAPI delegate is an all-or-nothing design (if one of the ops in the compute graph is not supported by NNAPI, the whole graph is not delegated). The new one is a per-op design. When an op in a graph is not supported by NNAPI, the op is automatically fell back to the CPU runtime. I’ll have a quick review TFLite and its interpreter, then walk the audience through example usage of the two delegates and important source code of them.
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan DriverRyo Jin
At XDC2016 Day 1, Samsung R&D talking about Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver. Lots of technical details there for those interested in Vulkan and friends.
Built for performance: the UIElements Renderer – Unite Copenhagen 2019Unity Technologies
In this technical talk, we will describe the science behind the UIElements rendering system, built from the ground up for retained-mode UI. It uses every CPU/GPU trick in the book to render thousands of different elements onscreen in a fraction of a millisecond, all on one thread. This powerful UI performance and optimization tool also supports complex features like clipping and vector graphics, even on low-end devices.
Speaker: Wessam Bahnassi – Unity
Watch the session on YouTube: https://youtu.be/zeCdVmfGUN0
TensorFlow is the most popular machine learning framework nowadays. TensorFlow Lite (TFLite), open sourced in late 2017, is TensorFlow’s runtime designed for mobile devices, esp. Android cell phones. TFLite is getting more and more mature. One the most interesting new components introduced recently are its GPU delegate and new NNAPI delegate. The GPU delegate uses Open GL ES compute shader on Android platforms and Metal shade on iOS devices. The original NNAPI delegate is an all-or-nothing design (if one of the ops in the compute graph is not supported by NNAPI, the whole graph is not delegated). The new one is a per-op design. When an op in a graph is not supported by NNAPI, the op is automatically fell back to the CPU runtime. I’ll have a quick review TFLite and its interpreter, then walk the audience through example usage of the two delegates and important source code of them.
Unity optimization techniques applied in Catan UniverseExozet Berlin GmbH
In this presentation we make a summary of important optimization techniques that were adopted when porting Catan Universe to mobile. Most of them can also be universally applied in other Unity projects; let us know if they helped you.
Umbra Ignite 2015: Graham Wihlidal – Adapting a technology stream to ever-evo...Umbra Software
This talk describes some of the pain points and challenges encountered while transitioning Frostbite from a PS3/X360 centric engine built for one game series to numerous games, genres and the PS4/XO launch.
Graham is a senior rendering engineer on the Frostbite engine team, implementing and supporting technology used in many hit games like Battlefield 4, Dragon Age Inquisition, and Star Wars: Battlefront. Prior to Frostbite, Graham was a senior engineer for BioWare for many years, shipping numerous titles including the Mass Effect and Dragon Age trilogies, and Star Wars: The Old Republic. Graham is also the author of Game Engine Toolset Development, and specializes in low level optimizations, engine architecture, GPU driver implementation, and console development.
Jeremy's talk is about how they reworked the rendering engine architecture to better fit new hardware and new graphics API while keeping it modular and user-friendly.
Jeremy has almost 10 years of experience in video games industry as an engine and graphics programmer, across several french studios. He has worked on various technologies, mainly focused on rendering engine architecture, low-level graphics and consoles programming. Curious of any mix between art and technologies. Addicted to pixels, music, photography….and probably video games.
Unity - Internals: memory and performanceCodemotion
by Marco Trivellato - In this presentation we will provide in-depth knowledge about the Unity runtime. The first part will focus on memory and how to deal with fragmentation and garbage collection. The second part will cover implementation details and their memory vs cycles tradeoffs in both Unity4 and the upcoming Unity5.
Slides from a presentation about the new Lumina desktop environment. This covers some of the development model for Lumina-DE as well as going into details about its general philosophy, goals for the project, and some future plans.
Note: Examples/Images come from Lumina-DE version 0.6.3.
This is a free module introducing embedded systems. It covers C programming, microcontrollers and software design in 40 ours. Its free for use in universities and institutes on condition of prior notification. Please, do not use it for commercial purposes. If you need full set If you need accompanying labs and software tool feel free to contact me by email (amraldo@hotmail.com) or by mobile (+201223600207).
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Unity Technologies
To have the same game experience from one platform to another is no easy task, but just imagine the risks and challenges when it's a blockbuster hit like Call of Duty. These slides share a behind-the-scenes look at the challenges and steps Activision and Tencent took to develop Call of Duty for mobile, with a particular focus on how to optimize the mobile gaming experience. You'll also see how Samsung's Galaxy GameDev team supported Tencent to bring high fidelity and stable performance to the gaming experience with Vulkan and Adaptive Performance by Unity.
Speakers:
Jungwoo Kim - Samsung
Anton Syniavskyi - Samsung
Watch the session on YouTube: https://youtu.be/r-kICWS-XWI
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureGerke Max Preussner
Overview of build tools, build automation, source code management and automated testing infrastructure at Epic Games. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
Chris Michael and Stefan Schmidt from Samsung OSG's UK office talk about the design of Enlightenment as it relates to being used as a standalone Wayland compositor.
LAS16-209: Finished and Upcoming Projects in LMGLinaro
LAS16-209: Finished and Upcoming Projects in LMG
Speakers: Yongqui Liu, Satish Patel, Bernhard Rosenkränzer
Date: September 27, 2016
★ Session Description ★
This survey of topics covers the engineering output of recent Android related projects in LMG and some future plans. This includes Memory Allocators, Filesystems, LCR news, Work on both gcc and clang based toolchains, Increased participation in upstream development as well as a quick overview of some upcoming topics. Kernel possible topics: Generic Build: where we are at.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-209
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-209/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
Unity optimization techniques applied in Catan UniverseExozet Berlin GmbH
In this presentation we make a summary of important optimization techniques that were adopted when porting Catan Universe to mobile. Most of them can also be universally applied in other Unity projects; let us know if they helped you.
Umbra Ignite 2015: Graham Wihlidal – Adapting a technology stream to ever-evo...Umbra Software
This talk describes some of the pain points and challenges encountered while transitioning Frostbite from a PS3/X360 centric engine built for one game series to numerous games, genres and the PS4/XO launch.
Graham is a senior rendering engineer on the Frostbite engine team, implementing and supporting technology used in many hit games like Battlefield 4, Dragon Age Inquisition, and Star Wars: Battlefront. Prior to Frostbite, Graham was a senior engineer for BioWare for many years, shipping numerous titles including the Mass Effect and Dragon Age trilogies, and Star Wars: The Old Republic. Graham is also the author of Game Engine Toolset Development, and specializes in low level optimizations, engine architecture, GPU driver implementation, and console development.
Jeremy's talk is about how they reworked the rendering engine architecture to better fit new hardware and new graphics API while keeping it modular and user-friendly.
Jeremy has almost 10 years of experience in video games industry as an engine and graphics programmer, across several french studios. He has worked on various technologies, mainly focused on rendering engine architecture, low-level graphics and consoles programming. Curious of any mix between art and technologies. Addicted to pixels, music, photography….and probably video games.
Unity - Internals: memory and performanceCodemotion
by Marco Trivellato - In this presentation we will provide in-depth knowledge about the Unity runtime. The first part will focus on memory and how to deal with fragmentation and garbage collection. The second part will cover implementation details and their memory vs cycles tradeoffs in both Unity4 and the upcoming Unity5.
Slides from a presentation about the new Lumina desktop environment. This covers some of the development model for Lumina-DE as well as going into details about its general philosophy, goals for the project, and some future plans.
Note: Examples/Images come from Lumina-DE version 0.6.3.
This is a free module introducing embedded systems. It covers C programming, microcontrollers and software design in 40 ours. Its free for use in universities and institutes on condition of prior notification. Please, do not use it for commercial purposes. If you need full set If you need accompanying labs and software tool feel free to contact me by email (amraldo@hotmail.com) or by mobile (+201223600207).
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Unity Technologies
To have the same game experience from one platform to another is no easy task, but just imagine the risks and challenges when it's a blockbuster hit like Call of Duty. These slides share a behind-the-scenes look at the challenges and steps Activision and Tencent took to develop Call of Duty for mobile, with a particular focus on how to optimize the mobile gaming experience. You'll also see how Samsung's Galaxy GameDev team supported Tencent to bring high fidelity and stable performance to the gaming experience with Vulkan and Adaptive Performance by Unity.
Speakers:
Jungwoo Kim - Samsung
Anton Syniavskyi - Samsung
Watch the session on YouTube: https://youtu.be/r-kICWS-XWI
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureGerke Max Preussner
Overview of build tools, build automation, source code management and automated testing infrastructure at Epic Games. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
Chris Michael and Stefan Schmidt from Samsung OSG's UK office talk about the design of Enlightenment as it relates to being used as a standalone Wayland compositor.
LAS16-209: Finished and Upcoming Projects in LMGLinaro
LAS16-209: Finished and Upcoming Projects in LMG
Speakers: Yongqui Liu, Satish Patel, Bernhard Rosenkränzer
Date: September 27, 2016
★ Session Description ★
This survey of topics covers the engineering output of recent Android related projects in LMG and some future plans. This includes Memory Allocators, Filesystems, LCR news, Work on both gcc and clang based toolchains, Increased participation in upstream development as well as a quick overview of some upcoming topics. Kernel possible topics: Generic Build: where we are at.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-209
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-209/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
Linux has become integral part of Embedded systems. This presentation gives deeper perspective of Linux from system programming perspective. Stating with basics of Linux it goes on till advanced aspects like system calls, process subsystem, inter process communication mechanisms, thread and various synchronization mechanisms like mutex and semaphores. Understanding these services provided by Linux are essential for embedded systems engineer. These constructs helps users to write efficient programs in Linux environment
Castle Game Engine and the joy of making and using a custom game engineMichalis Kamburelis
Presentation about Castle Game Engine ( https://castle-engine.io/ ) at GIC 2022 conference. We briefly show Castle Game Engine features then talk about important reasons and things you should take into account if you want to be as crazy as me -- and develop your custom engine :)
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloLinaro
Short
The growing amount of data captured by sensors and the real time constraints imply that not only big data analytics but also Machine Learning (ML) inference shall be executed at the edge. The multiple options for neural network acceleration in Arm-based platforms provide an unprecedented opportunity for new intelligent devices. It also raises the risk of fragmentation and duplication of efforts when multiple frameworks shall support multiple accelerators.
Andrea Gallo, Linaro VP of Segment Groups, will summarise the existing NN frameworks, accelerator solutions, and will describe the efforts underway in the Arm ecosystem.
Abstract
The dramatically growing amount of data captured by sensors and the ever more stringent requirements for latency and real time constraints are paving the way for edge computing, and this implies that not only big data analytics but also Machine Learning (ML) inference shall be executed at the edge. The multiple options for neural network acceleration in recent Arm-based platforms provides an unprecedented opportunity for new intelligent devices with ML inference. It also raises the risk of fragmentation and duplication of efforts when multiple frameworks shall support multiple accelerators.
Andrea Gallo, Linaro VP of Segment Groups, will summarise the existing NN frameworks, model description formats, accelerator solutions, low cost development boards and will describe the efforts underway to identify the best technologies to improve the consolidation and enable the competitive innovative advantage from all vendors.
Audience
The session will be useful for executives to engineers. Executives will gain a deeper understanding of the issues and opportunities. Engineers at NN acceleration IP design houses will take away ideas for how to collaborate in the open source community on their area of expertise, how to evaluate the performance and accelerate multiple NN frameworks without modifying them for each new IP, whether it be targeting edge computing gateways, smart devices or simple microcontrollers.
Benefits to the Ecosystem
The AI deep learning neural network ecosystem is starting just now and it has similar implications with open source as GPU and video accelerators had in the early days with user space drivers, binary blobs, proprietary APIs and all possible ways to protect their IPs. The session will outline a proposal for a collaborative ecosystem effort to create a common framework to manage multiple NN accelerators while at the same time avoiding to modify deep learning frameworks with multiple forks.
Session ID: SFO17-509
Session Name: Deep Learning on ARM Platforms
- SFO17-509
Speaker: Jammy Zhou
Track:
★ Session Summary ★
A new era of deep learning is coming with algorithm evolvement, powerful computing platforms and large dataset availability. This session will focus on existing and potential heterogeneous accelerator solutions (GPU, FPGA, DSP, and etc) for ARM platforms and the work ahead from platform perspective.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-509/
Presentation:
Video:
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
There is a surge in number of sensors / devices that are getting connected under the umbrella of Internet-Of-Things (IoT). These devices need to be integrated into the Android system and accessed via applications, which is covered in the course. Our Android system development course curriculum over weekends with practicals ensures you learn all critical components to get started.
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/may-2016-embedded-vision-summit-khronos
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Neil Trevett, President of the Khronos Group, presents the "Vision API Maze: Options and Trade-offs" tutorial at the May 2016 Embedded Vision Summit.
It’s been a busy year in the world of hardware acceleration APIs. Many industry-standard APIs, such as OpenCL and OpenVX, have been upgraded, and the industry has begun to adopt the new generation of low-level, explicit GPU APIs, such as Vulkan, that tightly integrate graphics and compute. Some of these APIs, like OpenVX and OpenCV, are vision-specific, while others, like OpenCL and Vulkan, are general-purpose. Some, like CUDA and Renderscript, are supplier-specific, while others are open standards that any supplier can adopt. Which ones should you use for your project?
In this presentation, Neil Trevett, President of the Khronos Group standards organization, updates the landscape of APIs for vision software development, explaining where each one fits in the development flow. Neil also highlights where these APIs overlap and where they complement each other, and previews some of the latest developments in these APIs.
Embedded Graphics Drivers in Mesa (ELCE 2019)Igalia
By Neil Roberts.
Users of mobile platforms are expecting more and more complex graphics on their devices. This means that taking advantage of the mobile GPUs efficiently is essential. A large part of this efficiency is dependent on the user-space drivers. Unfortunately being in user-space means that many GPU providers can get away with only providing a closed-source driver which hides a lot of the secrets needed to be efficient. This talk presents a project providing an open-source alternative including support for embedded platforms.
Mesa is the standard open-source user-space library providing an implementation of the OpenGL, GLES and Vulkan APIs on Linux platforms. It has drivers for a range of different hardware. This talk will present the project, the user-space graphics stack and the inner workings of Mesa. It will then continue to present the embedded drivers that it supports such as Freedreno for the Adreno platform, Panfrost for Mali Midgard and Bifrost GPUs and the drivers for Broadcom GPUs.
(c) Open Source Summit + Embedded Linux Conference Europe 2019
October 28 - 30, 2019
Citi Centre de Congrès de Lyon (Lyon Convention Centre)
Lyon, France
Arch linux and whole security concepts in linux explained krishna kakade
this presentation explain about Arch linux and whole security concepts in linux explained for saying thanks to me for this presentation you can follow me on twitter or github that links given in my website link thank you for reaching here .god bless you all
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...kalichargn70th171
A dynamic process unfolds in the intricate realm of software development, dedicated to crafting and sustaining products that effortlessly address user needs. Amidst vital stages like market analysis and requirement assessments, the heart of software development lies in the meticulous creation and upkeep of source code. Code alterations are inherent, challenging code quality, particularly under stringent deadlines.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
1. 1Samsung Open Source Group
Cedric Bail
Senior Graphics Developer
Samsung Open Source Group
cedric@osg.samsung.com
Enlightenment Foundation Libraries
An UI Toolkit Designed for the Embedded World
2. 2Samsung Open Source Group
● What are the Enlightenment Foundation Libraries?
● Where are they used?
● Where it is going?
● Questions?
5. 5Samsung Open Source Group
Enlightenment 17
– Enlightenment project started in 1997
– Windows Manager
– First Windows Manager of GNOME
– Full rewrite started in 2001
– Primary belief is there will never be “a year of the Linux desktop”
– Designed with the embedded world in mind…
– … and needed a toolkit !
6. 6Samsung Open Source Group
Enlightenment
– 17 was just the version number, we are now at 19!
– Use EFL scenegraph and main loop
– Not different from any other EFL application
– Composite and Window Manager
– Wayland client support
– Multiple backend (X, FB, DRM, …)
– Highly customizable (Profiles, modules and themes)
7. 7Samsung Open Source Group
Enlightenment Community
● The Enlightenment community
– 60 uniq contributors per release (10 cores)
– 1000 users that build from source
– 2 distributions based on Enlightenment (Bodhi and Elive)
● The Enlightenment community expected Linux to takeoff in the embedded wo
rld, not on the desktop
● The values shared by this community:
● Customizable
● Scalable
● Fast
● Light
● Feature Rich
8. 8Samsung Open Source Group
Enlightenment Foundation Libraries (EFL)
● Spent a decade writing a modern graphic toolkit
● Licensed under a mix of LGPL and BSD license
● Focus on embedded devices
● First release on January 2011
● Stable, long term API/ABI
● In the process of releasing version 1.13
● 3 month release cycle
9. 9Samsung Open Source Group
State of EFL
● Designed for creating a Windows Manager (WM), now used for any type of
application
● Has its own scene graph and rendering library
● Optimized to reduce CPU, GPU, memory and battery usage
● Supports international language requirements (LTR/RTL, UTF8)
● Supports all variations of screens and input devices (scale factor)
● Fully Themable (layout of the application included)
● Supports profiles
● Can take up as little as 8MB of space with a minimal set of dependencies
● Has a modular design
10. 10Samsung Open Source Group
Why We Care About Optimization
● Moore's law doesn't apply to battery and memory bandwidth
● Most rendering operations are limited directly by memory bandwidth
● Many embedded devices have less available memory than a low end phone
– Refrigerator, oven, dish washer, washing machine, home automation…
● Even a low end phone doesn't have much memory to space once you run a
browser!
● GL context at best consumes 10MB, usually more around 40MB; this is bad
for multitasking!
11. 11Samsung Open Source Group
Current State of Optimization
● Application runtime memory use is mostly driven by screen size
● EFL can fit in 8MB on disk (static compilation with minimal dependencies)
● No hard requirement on the GPU
● Enlightenment + Arch Linux combined :
– 48 MB RAM
– 300 Mhz (1024 x 768)
– Yes, for a desktop profile!
13. 13Samsung Open Source Group
Bird's Eye View of EFL
X11
OpenGL
EINA
MEMPOOL
EVAS
JPEG
PNG
GIF
TIFF
EET
SVG
MORE...
XRENDER
OPENGL/ES
X11 (SOFTWARE)
FB (SOFTWARE)
MORE...
EET
EMBRYO
EDJE
ELEMENTARY E-DBUS DBUS
ECORE
FILE
X11
CON
IPC
FB
EVAS
QUARTZ
INPUT
JOB
SDL
WIN32/CE
MORE...
EFREET
MEMORY (RAM)
(DATA STRUCTURES)
DATA IN STORAGE
(DISK/FLASH ETC.)
PIXELS ON A
DISPLAY
IMAGE FILES
IN STORAGE
OTHER APPLICATIONS
AND SERVICES
USER INTERACTION
AND FEEDBACK
INPUT DEVICES
AND OTHER
SYSTEM SERVICES
AND COMPONENTS
ABSTRACTED UI
COMPONENTS
FROM STORAGE
FREEDESKTOP.ORG
STANDARDS LAYER
FAST VIRTUAL
MACHINE
FOR LOGIC
AUGMENTATION
14. 14Samsung Open Source Group
EET: Serialization of C Structure
● Something very specific to EFL
● Fast serialization library for file storage and network communication
● Store image, sounds, font
● Reduces overhead when loading the same data across multiple applications
● Provides tools to convert from and to a human readable form
● Configurations and themes are built with this library
15. 15Samsung Open Source Group
Evas: Scene Graph Canvas
●
The brain of EFL
● Has its own scene graph and rendering library with more than 10 years of optimization work
● Provides glitch-free rendering
● Reduces overdrawing
● Deduplicates as much as possible to reduce memory waste
● Offers compressed glyph rendering
● Is portable (SDL, X11, Wayland, FB, DRM, Windows, Mac OS X, ...)
●
Has an optimized software renderer (MMX, SSE*, Neon)
● Optimized use of GPU (optional)
– Supports partial updates (assuming the driver does)
– Reduces context and texture switches as much as possible
– Reduces memory overhead
16. 16Samsung Open Source Group
Scene Graph
Container
Container Container
Container Container
Example scene graph
17. 17Samsung Open Source Group
Evas: Scene Graph
●
A basic scene graph rendering ascends from the bottom to the top of the tree
●
Possible optimizations
– Reorder GL operations to limit Texture and Shader changes
– Partial updates
– Cutout opaque areas
– Complete drawing operations in another thread
– Efficiently cache costly CPU operations between frames
– Deduplicate objects
18. 18Samsung Open Source Group
Evas: Frame Delta
Computation of previous and current frame with cutout
19. 19Samsung Open Source Group
Evas: Rendering Pipeline
Current and future rendering pipeline for Evas
20. 20Samsung Open Source Group
Evas: Learned Experience From Our Scene Graph
● After initial startup... it's mostly bound to the memory
● Vector graphics and smooth scaled images are bound to the CPU
● It's important to optimize memory usage for both GL and software
● Deduplication of strings, images and text makes a major difference
● The compressed glyph (software) and image (GL) also make a difference
21. 21Samsung Open Source Group
Evas: Issue With Design of Future Pipeline
● CPU and memory frequency are very important
● Evas was created when dual core CPU's were found only on high end servers
●
It's slowly evolving to take advantage of more cores
● The Linux Kernel handles it poorly on embedded devices
● Typical scenario :
1. Long periods of IO bound operations (Main loop)
2. Followed by a short need for all cores to be up and running
3. Processes are then limited by memory speed
● In this scenario, it's not capable of running at the right speed with the right number of
cores
● A lot of work is needed in the kernel before we can totally benefit from it
22. 22Samsung Open Source Group
Edje: Theme and Layout Engine
● The heart of EFL
● Theme and layout engine
● Descriptive language
● Uses Evas for rendering logic (fully independent from the system)
● Doesn't require a FPU
● Optimizes load time (time to first frame) and run time
● Reduces memory fragmentation
24. 24Samsung Open Source Group
Elementary: Widgets Set
● Widgets toolkit
● Based on EFL infrastructure, uses Edje & Evas
● Screen and input independence achieved through :
– Scale factor
– Finger size
● Profile support (define configuration on a per Window basis)
● Fully themable
● Supports touchscreens
25. 25Samsung Open Source Group
Many Other Useful Components
● Eina: C data types library and various system helper
● Ecore: main loop, events, network and threads infrastructure
● Eio: asynchronous Input/Output
● Emotion: video component integration
● Eeze: hot plug and device detection
● Eldbus: dbus integration library
● Efreet: Freedesktop library
● Eo: safe, fast and light object infrastructure
● Eolian: compilation time introspection infrastructure
● Elocation: geoclue integration
26. 26Samsung Open Source Group
Bindings for all Sorts of Languages
● C++11 modern binding (RAII, lambda, …)
● Lua
● Python
● JS
● Ocaml (see http://win-builds.org)
32. 32Samsung Open Source Group
Many Other Products
● Fridge
● Printer
● Medical device
● Set top box
● Home automation
● Navigation system
● More to come...
34. 34Samsung Open Source Group
Improving Performance
● Faster, lighter, better
● Better support for systems without MMU
● Improve speed of software renderer (more colorspace support)
● Slowly roll in threads for CPU intensive tasks
● Improve speed of GPU renderer (more efficient packing)
● Speed up animation filter (Dedicated assembler and shader)
● Efficiently share data across processes
● Experiment with new memory layouts for Eo object
35. 35Samsung Open Source Group
Improve Functionality
● Improve 3D scene graph inside Evas canvas (3D world, Effect, …)
● Add SVG scene graph and Vector graphics API in Evas
● Animated filters
● Improve portability (Windows, Mac OS X)
● Keep it always up to date (C++, Lua, Python, JS, Ocaml)
● Improve tests and automatic build system to improve quality
● Improve documentation
36. 36Samsung Open Source Group
Animated Filter !
Animated bump map filter effect on an image
37. 37Samsung Open Source Group
3D Scene Graph
Example of using current Evas 3D scene graph
38. 38Samsung Open Source Group
The Future of Enlightenment
● X11 will be made optional by serving as a KMS/DRM Wayland Compositor
● Incorporate Elementary widgets set
● Differentiate from Qt logic to provide a library to do your own compositor
→ Enlightenment is the base to put your module in for your specific needs
● Improve support for HiDPI
● Improve modularity
● Support more upstream profiles (Tiling, mobile, TV, ...)
39. 39Samsung Open Source Group
EFL Cheat Sheet
● Fast release cycle: 3 months
● Used in Tizen
● Will always support systems with no GPU and limited resources
● Continuous EFL benchmarking to make sure that each release improves on
the last
● Majority is licensed under LGPL
● Backend is covered under MIT license
● World wide community
40. 40Samsung Open Source Group
Questions?
Twitter: @SamsungOSG
Email: jobs@osg.samsung.com
Slides: http://www.slideshare.net/SamsungOSG
We're Hiring!