This presentation by Kyle Sherman, LinkedIn iOS Developer for the SlideShare iOS app, goes over fixing issues with jittery scroll performance in iOS applications. The presentation goes over the basics of using Instruments to measure and fix problems, tips for using Instruments, and a concrete example from the new LinkedIn iOS flagship application.
Nowadays REST APIs are behind each mobile and nearly all of web applications. As such they bring a wide range of possibilities in cases of communication and integration with given system. But with great power comes great responsibility. This talk aims to provide general guidance related do API security assessment and covers common API vulnerabilities. We will look at an API interface from the perspective of potential attacker.
I will show:
how to find hidden API interfaces
ways to detect available methods and parameters
fuzzing and pentesting techniques for API calls
typical problems
I will share several interesting cases from public bug bounty reports and personal experience, for example:
* how I got various credentials with one API call
* how to cause DoS by running Garbage Collector from API
Detox is a mobile automation tool. Detox tests your mobile app while it's running in a real device/simulator, interacting with it just like a real user.
Cross Platform: Write cross-platform tests in JavaScript.
Runs on Devices : Gain confidence to ship by testing your app on a device/simulator just like a real user.
Automatically Synchronized: Stops flakiness at the core by monitoring asynchronous operations in your app.
Made For CI: Execute your E2E tests on CI platforms like Travis without grief.
Test Runner Independent: Use Mocha, AVA, or any other JavaScript test runner you like.
Debuggable: Modern async-await API allows breakpoints in asynchronous tests to work as expected.
OWASP AppSecEU 2018 – Attacking "Modern" Web TechnologiesFrans Rosén
In this talk, top ranked white-hat hacker Frans Rosén (@fransrosen) will focus on methodologies and results of attacking modern web technologies. He will do a deep-dive in postMessage, how vulnerable configurations in both AWS and Google Cloud allow attackers to take full control of your assets.
Listen to 60 minutes of new hacks, bug bounty stories and learnings that will make you realize that the protocols and policies you believed to be secure are most likely not.
Building a REST Service in minutes with Spring BootOmri Spector
A walk through building a micro service using Spring Boot.
Deck presented at Java 2016
Source accompanying presentation can be found at https://github.com/ospector/sbdemo
The presentation focus on some known and unknown methods of android pentetration testing. I have taken help from many resources which I have mentioned in PPT.
An intro to React Native using react-native cli, styled components, react-navigation, and an an introduction to the react native ecosystem.
Example repo: https://github.com/ladyleet/fluentConf2
Have questions? Tweet me http://twitter.com/ladyleet
Nowadays REST APIs are behind each mobile and nearly all of web applications. As such they bring a wide range of possibilities in cases of communication and integration with given system. But with great power comes great responsibility. This talk aims to provide general guidance related do API security assessment and covers common API vulnerabilities. We will look at an API interface from the perspective of potential attacker.
I will show:
how to find hidden API interfaces
ways to detect available methods and parameters
fuzzing and pentesting techniques for API calls
typical problems
I will share several interesting cases from public bug bounty reports and personal experience, for example:
* how I got various credentials with one API call
* how to cause DoS by running Garbage Collector from API
Detox is a mobile automation tool. Detox tests your mobile app while it's running in a real device/simulator, interacting with it just like a real user.
Cross Platform: Write cross-platform tests in JavaScript.
Runs on Devices : Gain confidence to ship by testing your app on a device/simulator just like a real user.
Automatically Synchronized: Stops flakiness at the core by monitoring asynchronous operations in your app.
Made For CI: Execute your E2E tests on CI platforms like Travis without grief.
Test Runner Independent: Use Mocha, AVA, or any other JavaScript test runner you like.
Debuggable: Modern async-await API allows breakpoints in asynchronous tests to work as expected.
OWASP AppSecEU 2018 – Attacking "Modern" Web TechnologiesFrans Rosén
In this talk, top ranked white-hat hacker Frans Rosén (@fransrosen) will focus on methodologies and results of attacking modern web technologies. He will do a deep-dive in postMessage, how vulnerable configurations in both AWS and Google Cloud allow attackers to take full control of your assets.
Listen to 60 minutes of new hacks, bug bounty stories and learnings that will make you realize that the protocols and policies you believed to be secure are most likely not.
Building a REST Service in minutes with Spring BootOmri Spector
A walk through building a micro service using Spring Boot.
Deck presented at Java 2016
Source accompanying presentation can be found at https://github.com/ospector/sbdemo
The presentation focus on some known and unknown methods of android pentetration testing. I have taken help from many resources which I have mentioned in PPT.
An intro to React Native using react-native cli, styled components, react-navigation, and an an introduction to the react native ecosystem.
Example repo: https://github.com/ladyleet/fluentConf2
Have questions? Tweet me http://twitter.com/ladyleet
This slide deck covers the automated & manual static code discovery of Android Application using opensource tools, Reverse engineering of apk file and Secure code review
- In-Memory 기반 초고성능 관계형 데이터베이스
- Scale-Out, Shared Nothing 구조의 Cluster 기능
- 초당 수백만건의 Streaming 데이터 분석 처리
- Global 고객사 다수 - 삼성반도체, LG, Huawei, Intel, Nokia, Mitsubishi 등 고객사 보유
- 국내 중견 IT 기업 성능/기능 검증 진행 중
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
요즘 Hadoop 보다 더 뜨고 있는 Spark.
그 Spark의 핵심을 이해하기 위해서는 핵심 자료구조인 Resilient Distributed Datasets (RDD)를 이해하는 것이 필요합니다.
RDD가 어떻게 동작하는지, 원 논문을 리뷰하며 살펴보도록 합시다.
http://www.cs.berkeley.edu/~matei/papers/2012/sigmod_shark_demo.pdf
Pentesting Rest API's by :- Gaurang BhatnagarOWASP Delhi
Brief overview of API
▸ Fingerprinting & Discovering API
▸ Authentication attacks on API (JWT)
▸ Authorization attacks on API (OAuth)
▸ Bruteforce attacks on API
▸ Attacking Dev/Staging API
▸ Traditional attacks
YouTube Link: https://youtu.be/9XMt2hChbRo
** Edureka Online Training: https://www.edureka.co/ **
In this edureka PPT, Flutter tutorial, you will learn about google's cross-platform mobile application development framework. You will also learn to make a basic app using flutter at the end of this video.
The following topics are discussed in this PPT
Mobile Application Development
What is Flutter?
Why learn Flutter?
Flutter Architecture
Types of Widgets
How Flutter Compiles
Flutter Installation
Writing Our First Flutter Application
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
As the number of smartphone users is expected to hit the 5 billion mark next year, we can confidently assume that the popularity and demand of mobile apps will continue to grow. Naturally, mobile apps do require testing, but a lot of it is done manually. The most difficult part of automated testing on mobile, is only the tip of the testing pyramid - E2E tests. The core of the problem with E2E is flakiness, which results in unreliable tests.
At Wix, we believe the only way to tackle this flakiness head on is by moving from black box testing to gray box testing. And for that, React Native mobile apps automation library - Detox - is being created.
Codemotion Madrid 2023 - Testcontainers y Spring BootIván López Martín
Es 2023 y ya hemos dado por sentado que tenemos que testear nuestras aplicaciones. Escribimos test unitarios sin problemas y somos relativamente felices.
Pero ¿qué ocurre con los tests de integración? ¿Cómo podemos testear con seguridad los diferentes servicios que utilizamos en nuestras aplicaciones Spring?
Testcontainers se integra de manera sencilla y transparente con Spring Boot para ofrecer una experiencia similar a los tests unitarios pero escribiendo tests de integración con servicios reales ejecutados en contenedores: Kafka, Postgresql, MySql, Elasticsearch y cualquier cosa que se pueda ejecutar en Docker.
En esta charla aprenderás cómo utilizar Testcontainers en tus tests de Spring Boot sin sacrificar la velocidad en tu ciclo de desarrollo y aprovechar todo el potencial que ofrece.
The management skills constitute a cycle of
goal creation, commitment, feedback, reward, and accomplishment,
with human interaction at every turn.
Notice that management is primarily about dealing effectively with people – being effective in leadership.
This slide deck covers the automated & manual static code discovery of Android Application using opensource tools, Reverse engineering of apk file and Secure code review
- In-Memory 기반 초고성능 관계형 데이터베이스
- Scale-Out, Shared Nothing 구조의 Cluster 기능
- 초당 수백만건의 Streaming 데이터 분석 처리
- Global 고객사 다수 - 삼성반도체, LG, Huawei, Intel, Nokia, Mitsubishi 등 고객사 보유
- 국내 중견 IT 기업 성능/기능 검증 진행 중
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
요즘 Hadoop 보다 더 뜨고 있는 Spark.
그 Spark의 핵심을 이해하기 위해서는 핵심 자료구조인 Resilient Distributed Datasets (RDD)를 이해하는 것이 필요합니다.
RDD가 어떻게 동작하는지, 원 논문을 리뷰하며 살펴보도록 합시다.
http://www.cs.berkeley.edu/~matei/papers/2012/sigmod_shark_demo.pdf
Pentesting Rest API's by :- Gaurang BhatnagarOWASP Delhi
Brief overview of API
▸ Fingerprinting & Discovering API
▸ Authentication attacks on API (JWT)
▸ Authorization attacks on API (OAuth)
▸ Bruteforce attacks on API
▸ Attacking Dev/Staging API
▸ Traditional attacks
YouTube Link: https://youtu.be/9XMt2hChbRo
** Edureka Online Training: https://www.edureka.co/ **
In this edureka PPT, Flutter tutorial, you will learn about google's cross-platform mobile application development framework. You will also learn to make a basic app using flutter at the end of this video.
The following topics are discussed in this PPT
Mobile Application Development
What is Flutter?
Why learn Flutter?
Flutter Architecture
Types of Widgets
How Flutter Compiles
Flutter Installation
Writing Our First Flutter Application
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
As the number of smartphone users is expected to hit the 5 billion mark next year, we can confidently assume that the popularity and demand of mobile apps will continue to grow. Naturally, mobile apps do require testing, but a lot of it is done manually. The most difficult part of automated testing on mobile, is only the tip of the testing pyramid - E2E tests. The core of the problem with E2E is flakiness, which results in unreliable tests.
At Wix, we believe the only way to tackle this flakiness head on is by moving from black box testing to gray box testing. And for that, React Native mobile apps automation library - Detox - is being created.
Codemotion Madrid 2023 - Testcontainers y Spring BootIván López Martín
Es 2023 y ya hemos dado por sentado que tenemos que testear nuestras aplicaciones. Escribimos test unitarios sin problemas y somos relativamente felices.
Pero ¿qué ocurre con los tests de integración? ¿Cómo podemos testear con seguridad los diferentes servicios que utilizamos en nuestras aplicaciones Spring?
Testcontainers se integra de manera sencilla y transparente con Spring Boot para ofrecer una experiencia similar a los tests unitarios pero escribiendo tests de integración con servicios reales ejecutados en contenedores: Kafka, Postgresql, MySql, Elasticsearch y cualquier cosa que se pueda ejecutar en Docker.
En esta charla aprenderás cómo utilizar Testcontainers en tus tests de Spring Boot sin sacrificar la velocidad en tu ciclo de desarrollo y aprovechar todo el potencial que ofrece.
The management skills constitute a cycle of
goal creation, commitment, feedback, reward, and accomplishment,
with human interaction at every turn.
Notice that management is primarily about dealing effectively with people – being effective in leadership.
It is impossible to measure or put estimates onto the size of the deep web because the majority of the information is hidden or locked inside databases. Early estimates suggested that the deep web is 4,000 to 5,000 times larger than the surface web.
Some examples and motivation for creating data structures from nothing but functions - Church Encoding! There's particular detail on how it can make free monads more efficient.
Introductory Augmented Reality in Unity with Android and VuforiaBond University
Introductory tutorial using Augmented Reality in Unity3d version 5, deployed to Android using the Vuforia API. Included are simple steps to activate Augmented Reality in Unity3d version 5 and Vuforia for deployment to android; Working with basic image targets.
This presentation is a part of the COP2271C college level course taught at the Florida Polytechnic University located in Lakeland Florida. The purpose of this course is to introduce Freshmen students to both the process of software development and to the Python language.
The course is one semester in length and meets for 2 hours twice a week. The Instructor is Dr. Jim Anderson.
A video of Dr. Anderson using these slides is available on YouTube at: https://www.youtube.com/watch?v=c2CTDm19Lpg
Simulating systems: Delivering digital differenceBrightwave Group
As part of a series of webinars run by the Learning and Skills Group, Brightwave's Head of Production John Beaton shared his experience of delivering rapid, agile systems training projects that let you and your organisation ride out the turbulence and surf the waves of change.
If your workplace hasn’t experienced a wave of digital transformation, then it's on the near horizon. Digital disruption has swept through our working lives, returning with the tide to refresh the status quo: upgrading technology and upskilling learners in a recursive process of change and improvement.
The uniting factor is systems training: every new disruption comes via a new platform and practices which you must master as fast and effectively as possible. In this new webinar for the LSG, John covered:
● The importance of systems training for today's high-value organisations
● End-to-end perfect planning for SIMS projects
● Rich media enhancements: when to get interactive, and when to think basic
● How to align your organisation's systems training within the wider context of digital transformation
Machine Learning pipeline presentation for Software Engineering 2017 conference in Kiev, Ukraine.
Link to Google Drive with animations. https://docs.google.com/presentation/d/1DfyRJS9PQSVXW3T_Btfc0NoGiLOl29AZdtk_pLjCkb8/edit?usp=sharing
Real time emotion recognition during presentations - Artemii FrolovIT Knowledge Bank
Understanding of emotions during presentations could be very important for the presenter. It could be not only useful for him but also make presentations more interesting for the listeners. In this talk, I would like to present my solution, based on Amazon DeepLens, and using MTCNN and mini-Xception networks (with an explanation of how they work). We'll discuss easy visualization of the results and how to expand the solution for every mini-computer with a camera.
Artemii is a Master student at Technical University of Munich with a specialization in Data Science and Machine Learning. He has graduated in 2015 with an Engineering degree in Informatics and later worked on research and applied Data Science projects in Accenture, Data Reply and several Russian National Research Centers. His main research interests are Computer Vision and NLP.
Topic was presented at Munich Datageeks - October Edition 2019
https://munich-datageeks.de/
Builds on the basics we have been exploring by working on more advanced editing, including work flow ideas, techniques for repairing gaps, improving FPS, automatic captioning, scrolling credits, films within a film, and having one person use multiple avatars while filming.
At the 2014 NI Week in Austin, Texas, DMC engineers from Chicago, Boston and Denver came together to share information about High Speed Vision Systems and the work we do here at DMC.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
6. Setting Up Instruments
• Hit Command-I to Profile
• Or Product -> Profile
• Or Hold down Play button;
select Profile
• After done building (long
time), select Core Animation
• Turn on Device Utilization %
7. Setting Up Instruments
• Hit Command-I to Profile
• Or Product -> Profile
• Or Hold down Play button;
select Profile
• After done building (long
time), select Core Animation
• Turn on Device Utilization %
8. Setting Up Instruments
• Hit Command-I to Profile
• Or Product -> Profile
• Or Hold down Play button;
select Profile
• After done building (long
time), select Core Animation
• Turn on Device Utilization %
9. Profiling
• Tip #1: Decrease sample rate
• Hit the Record Button
• Tip #2: Set flags using
Command-Down arrow
• Tip #3: Double click flag to
name it
10. Profiling
• Tip #1: Decrease sample rate
• Hit the Record Button
• Tip #2: Set flags using
Command-Down arrow
• Tip #3: Double click flag to
name it
11. Profiling
• Tip #1: Decrease sample rate
• Hit the Record Button
• Tip #2: Set flags using
Command-Down arrow
• Tip #3: Double click flag to
name it
12. Profiling
• Tip #1: Decrease sample rate
• Hit the Record Button
• Tip #2: Set flags using
Command-Down arrow
• Tip #3: Single click flag to
name it
14. Examine Frame Rate
• Examine the frame rate
• Look at the CPU and GPU
usage at and around large
frame rate drops
15. Examine Frame Rate
• If Render/Device utilization is
high, requires more
investigation (details later)
• If not, and CPU usage is high:
• Click Time Profiler so CPU
usage is highlighted
• Drag around peak
• Look at heaviest stack trace
17. GPU Issues
• GPU Issues require further
diagnosis
• Easiest way is to use Simulator
• Offscreen-Rendered is worst
performance hit (details to
come)
• Watch WWDC 2014 Session
419: Advanced Graphics and
Animations for iOS Apps
24. Analyzing The Data
• Both the GPU utilization was high and CPU was
spiking
• I decided to investigate CPU usage first,
because it was possibly simpler to understand
• Saw suspicious methods and fixed issues in
code
27. GPU Issues
• Now it was time to resolve the GPU issues
• After watching WWDC 2014 Session 419,
learned about rendering pipeline and how bad
offscreen rendering is
• The following is a screenshot with Color
Offscreen-Rendered turned on
33. Solution #1
• In the WWDC session, Apple
suggests creating a mask like
the figure to the left of the
canvas
• Create the mask by drawing a
circle inside of a square of the
same size of the image
• Only fill outside of the circle
• The fill color of the mask must
be the same as the view (white
in this case)
• Place this mask on top of the
image (as a subview)
Image
39. Solution #3 Tips
• Only do it once per image if possible
• You can process when image downloads or first
time it is used
• Add a circular version of the image to your
cache
40. Resources
• I highly recommend watching the WWDC video
mentioned. Maybe even a few times as it goes
into very good detail.
• Apple TV tech talks video Tuning your tvOS
Apps, also goes over these topics
https://developer.apple.com/videos/play/wwdc2014-419/
https://developer.apple.com/videos/play/techtalks-apple-tv/9/