Download presentation
Presentation is loading. Please wait.
Published byPierce Parks Modified over 9 years ago
1
Multi-Threaded Video Rendering COMP400 Project – 2006 Yohan Launay
2
Agenda Basic System Description + Demo Quick Multi-threaded Programming Guide Video Channel Description Graphical Engine Description Results
3
Basic System Description Client system connected to a video server MPEG4 Streaming Multivision System (1 screen – X cameras) Client: OpenGL graphical engine + GTK GUI Existing system audited, re-designed & optimized: Optimization for multi-core systems 100% Thread safe design MT Programming Guide Performances Gain Live Demo !
4
MT Programming Guide (1) Modular System Mandatory 1 thread = 1 module (Core) Set of rules for safe MT programming (see report) 1 mutex per core handled by the core itself not externally Consequence: Extensive use of Controller & Façade Pattern
5
Graphical Engine Architecture Overview
6
MT Programming Guide (2) Mutex Class: Lock/Unlock (Existing) Guarantee exclusive access to resources Synchronize Class (Optimization) Lock/Unlock – ExclusiveLock/ExclusiveUnlock Read/Write Access AutoMutex Class (Ease of coding) Uses variable scope to lock/unlock Mutex
7
Video Channel Description Connect to the video stream Fetch picture Ask for display: Use of flags and IDs – Avoid memory copy Try to save space (pictures are big > 1MB)
8
Graphical Engine Description (1) OpenGL + GTK : need specific design Widget System Widget (Abstract) WidgetContainer WidgetTexture Chain of command: horizontal & vertical hierarchy OpenGL: 1 Thread = 1 Rendering Context: Use of message pump / Command pattern
9
Widgets Architecture
10
Graphical Engine Description (2) Texture Register: Avoid textures duplication in Graphical Card Manage texture loading and release Manage texture update Extensive use of display lists Use of glTexSubImage: partial update On-demand display of channels
11
Video Rendering Process
12
Results
13
Optimized for dual-core systems Unlimited number of cameras on the screen, performances limited by the hardware. 400 FPS multivisions ! (hardware related) Future Plans: OpenGL Game Mode (no more window + GTK)
14
Contact Information Yohan Launay Mail : yohan.launay@gmail.comyohan.launay@gmail.com McGill : yohan.launay@mail.mcgill.cayohan.launay@mail.mcgill.ca MSDL: http://msdl.cs.mcgill.ca/people/yohanhttp://msdl.cs.mcgill.ca/people/yohan Past Work: http://hellaynnea.free.frhttp://hellaynnea.free.fr Thank You For Your Attention!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.