SlideShare a Scribd company logo
1 of 8
X to photon latency measurements in software
X TO PHOTON
Definition
Challenges
Solution
Results
PROBLEM DEFINITION
• VR world presents unique problems arising due to system latencies
• Most noticeable impact is latency from physical event to display├
• Gauging effect involves measuring latency between two human
sensory events
• Physical measurement involves complicated equipment's with precise
positioning and orientation ⏚
• Hard to automate and reproduce precision and positioning⏀
• Hard to define a constant and consistent workload ⏉
SOFTWARE MEASUREMENT CHALLENGES
SIMPLIFIED X - PHOTON FRAME JOURNEY PIPELINE LATENCY CAUSES
Hardware
event (for eg.
Motion,
camera
sensor)
Processing
blocks (for eg.
Sensor fusion,
ISP … blocks)
Frame
compositor
(typically app
+ OS render
components)
Display Driver
Arbitrations/clock stretching, scheduling, non aligned locks …
Post and pre-processing on frames, involves complex high volume calculations, often pushed off to
GPU thus getting affected by submit, context switching, shader, … compounded by CPU latencies
like scheduling, fence acquire/release imbalances …
Typically a consumer of an external event and producer of a derived display frame. Responsible for
deciding the display frame elements based on input event. Typically involves techniques like time
warps, aligning frame production with vsync, front buffer rendering … GPU/CPU factors as above
affect latencies.
End point for software. Driver typically responsible for picking up composited display frame and
scan out to display. Latency beyond this is the hardware panel response, color/pixel illumination
latencies etc which are more complex to measure …
APPROACH TO SOLUTION
• Technically same data flowing across multiple stages ⏉
• Generally physical events get timestamped while being formed into a frame
• This event timestamp is now key for identifying that frame at various pipeline stages
• current time @ stage – frame time = frame to current stage latency
• The only challenge is then to figure out way to embed and persist this timestamp
across multiple stages as well as the end point ⏋
• With tesseract’s dependence on SDK, the render function of the SDK used to embed
frame timestamp on to the color buffer
• Display driver then reads out this embedded time stamp just before scan out
• With traces at multiple places it’s now possible to use tools to generate visual latency
graphs at individual stages in addition to end to end ├
• Strategy adopted successfully for pass-through camera, WIP for motion to photon
⏀
TYPICAL AR PIPELINE
MOTION TO APP LATENCY BREAKDOWN GRAPHS

More Related Content

Similar to Measuring x to photon latency in software

Human Action Recognition in Videos Employing 2DPCA on 2DHOOF and Radon Transform
Human Action Recognition in Videos Employing 2DPCA on 2DHOOF and Radon TransformHuman Action Recognition in Videos Employing 2DPCA on 2DHOOF and Radon Transform
Human Action Recognition in Videos Employing 2DPCA on 2DHOOF and Radon Transform
Fadwa Fouad
 

Similar to Measuring x to photon latency in software (20)

Introduction to embedded system
Introduction to embedded systemIntroduction to embedded system
Introduction to embedded system
 
Telepathology
TelepathologyTelepathology
Telepathology
 
Axxon next 4.0_new_en
Axxon next 4.0_new_enAxxon next 4.0_new_en
Axxon next 4.0_new_en
 
Distributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsDistributed Systems Real Life Applications
Distributed Systems Real Life Applications
 
Human Action Recognition in Videos Employing 2DPCA on 2DHOOF and Radon Transform
Human Action Recognition in Videos Employing 2DPCA on 2DHOOF and Radon TransformHuman Action Recognition in Videos Employing 2DPCA on 2DHOOF and Radon Transform
Human Action Recognition in Videos Employing 2DPCA on 2DHOOF and Radon Transform
 
I pushed in production :). Have a nice weekend
I pushed in production :). Have a nice weekendI pushed in production :). Have a nice weekend
I pushed in production :). Have a nice weekend
 
robust image watermarking
robust image watermarkingrobust image watermarking
robust image watermarking
 
Why Security-Grade Servers and Storage?
Why Security-Grade Servers and Storage?Why Security-Grade Servers and Storage?
Why Security-Grade Servers and Storage?
 
Security Grade Servers and Storage - Quantifying Value
Security Grade Servers and Storage - Quantifying ValueSecurity Grade Servers and Storage - Quantifying Value
Security Grade Servers and Storage - Quantifying Value
 
LVTS Projects
LVTS ProjectsLVTS Projects
LVTS Projects
 
Efficient Evaluation of Embedded-System Design Alternatives (SPLC Tutorial 2019)
Efficient Evaluation of Embedded-System Design Alternatives (SPLC Tutorial 2019)Efficient Evaluation of Embedded-System Design Alternatives (SPLC Tutorial 2019)
Efficient Evaluation of Embedded-System Design Alternatives (SPLC Tutorial 2019)
 
Video Hyperlinking Tutorial (Part B)
Video Hyperlinking Tutorial (Part B)Video Hyperlinking Tutorial (Part B)
Video Hyperlinking Tutorial (Part B)
 
1. An Introduction to Embed Systems_DRKG.pptx
1. An Introduction to Embed Systems_DRKG.pptx1. An Introduction to Embed Systems_DRKG.pptx
1. An Introduction to Embed Systems_DRKG.pptx
 
“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...
“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...
“Comparing ML-Based Audio with ML-Based Vision: An Introduction to ML Audio f...
 
When Web Services Go Bad
When Web Services Go BadWhen Web Services Go Bad
When Web Services Go Bad
 
ShowNTell: An easy-to-use tool for answering students’ questions with voice-o...
ShowNTell: An easy-to-use tool for answering students’ questions with voice-o...ShowNTell: An easy-to-use tool for answering students’ questions with voice-o...
ShowNTell: An easy-to-use tool for answering students’ questions with voice-o...
 
embeddedsystems-100429081552-phpapp01.pdf
embeddedsystems-100429081552-phpapp01.pdfembeddedsystems-100429081552-phpapp01.pdf
embeddedsystems-100429081552-phpapp01.pdf
 
PLM and CAD hardware
PLM and CAD hardwarePLM and CAD hardware
PLM and CAD hardware
 
Multimodel Operation for Visually1.docx
Multimodel Operation for Visually1.docxMultimodel Operation for Visually1.docx
Multimodel Operation for Visually1.docx
 
Real Time Debugging - What to do when a breakpoint just won't do
Real Time Debugging - What to do when a breakpoint just won't doReal Time Debugging - What to do when a breakpoint just won't do
Real Time Debugging - What to do when a breakpoint just won't do
 

Recently uploaded

scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
HenryBriggs2
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 

Recently uploaded (20)

A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 

Measuring x to photon latency in software

  • 1. X to photon latency measurements in software
  • 3. PROBLEM DEFINITION • VR world presents unique problems arising due to system latencies • Most noticeable impact is latency from physical event to display├ • Gauging effect involves measuring latency between two human sensory events • Physical measurement involves complicated equipment's with precise positioning and orientation ⏚ • Hard to automate and reproduce precision and positioning⏀ • Hard to define a constant and consistent workload ⏉
  • 5. SIMPLIFIED X - PHOTON FRAME JOURNEY PIPELINE LATENCY CAUSES Hardware event (for eg. Motion, camera sensor) Processing blocks (for eg. Sensor fusion, ISP … blocks) Frame compositor (typically app + OS render components) Display Driver Arbitrations/clock stretching, scheduling, non aligned locks … Post and pre-processing on frames, involves complex high volume calculations, often pushed off to GPU thus getting affected by submit, context switching, shader, … compounded by CPU latencies like scheduling, fence acquire/release imbalances … Typically a consumer of an external event and producer of a derived display frame. Responsible for deciding the display frame elements based on input event. Typically involves techniques like time warps, aligning frame production with vsync, front buffer rendering … GPU/CPU factors as above affect latencies. End point for software. Driver typically responsible for picking up composited display frame and scan out to display. Latency beyond this is the hardware panel response, color/pixel illumination latencies etc which are more complex to measure …
  • 6. APPROACH TO SOLUTION • Technically same data flowing across multiple stages ⏉ • Generally physical events get timestamped while being formed into a frame • This event timestamp is now key for identifying that frame at various pipeline stages • current time @ stage – frame time = frame to current stage latency • The only challenge is then to figure out way to embed and persist this timestamp across multiple stages as well as the end point ⏋ • With tesseract’s dependence on SDK, the render function of the SDK used to embed frame timestamp on to the color buffer • Display driver then reads out this embedded time stamp just before scan out • With traces at multiple places it’s now possible to use tools to generate visual latency graphs at individual stages in addition to end to end ├ • Strategy adopted successfully for pass-through camera, WIP for motion to photon ⏀
  • 8. MOTION TO APP LATENCY BREAKDOWN GRAPHS

Editor's Notes

  1. ├ When user sees effect of a physical event (X to photon), where X is another physical event ⏚ For eg. A high speed camera or a optical sensor is almost always involved at the display end as the receiver ⏀ - Gives rise to high percentage of run to run & precision variations for eg. photo sensor needs to be in a particular position on the display side ⏉- Like how does one define a workload which produces constant motion and constant oriented output on display
  2. ├ Reacting to physical event if required or simply pass it over ⏃ Potentially grouped together by buffers of data (for e.g. display and camera) ⏀ for eg. camera keeps producing frames asynchronous to display pipeline ⏊ for eg. a missed vsync might end up having app showing up relatively older camera frame thus increasing latency for one frame without guarantee of compensation in future
  3. - Typical bus communication problems while communicating with hardware sensor
  4. ⏉ - for e.g. same camera frame (or same sensor frame) finally reaches display in some form or the other based on use case performing the frame transformation ⏋ - in case of X to display, the end point is the display driver ├ - https://jirasw.nvidia.com/browse/AV-446 for discussions and required patches ⏀ - Passthrough camera latency checks added to sanity (https://jirasw.nvidia.com/browse/AV-484) along with Motion to App (https://jirasw/browse/AV-430) motion to display is WIP