Arm Community
Site
Search
User
Site
Search
User
Groups
Education Hub
Distinguished Ambassadors
Open Source Software and Platforms
Research Collaboration and Enablement
Forums
AI and ML forum
Architectures and Processors forum
Arm Development Platforms forum
Arm Development Studio forum
Arm Virtual Hardware forum
Automotive forum
Compilers and Libraries forum
Graphics, Gaming, and VR forum
High Performance Computing (HPC) forum
Infrastructure Solutions forum
Internet of Things (IoT) forum
Keil forum
Morello forum
Operating Systems forum
SoC Design and Simulation forum
SystemReady Forum
Blogs
AI and ML blog
Announcements
Architectures and Processors blog
Automotive blog
Graphics, Gaming, and VR blog
High Performance Computing (HPC) blog
Infrastructure Solutions blog
Internet of Things (IoT) blog
Operating Systems blog
SoC Design and Simulation blog
Tools, Software and IDEs blog
Support
Arm Support Services
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Support forums
Graphics, Gaming, and VR forum
Mali Performance Optimization
Jump...
Cancel
Locked
Locked
Replies
6 replies
Subscribers
136 subscribers
Views
6687 views
Users
0 members are here
Mali Drivers
Mali-GPU
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Mali Performance Optimization
Tim Menasveta
over 11 years ago
Note: This was originally posted on 17th November 2010 at
http://forums.arm.com
I thought we could use a forum to share ideas on how to optimize graphics rendering on Mali-based devices. So, here's my first post on identifying bottlenecks in the rendering pipeline.
We usually use frame rate, or frames per second (FPS), to measure graphics rendering performance. System FPS is the overall rendering performance when all system components (CPU, GPU, memory, display) are hooked up together. What system FPS fails to reveal, however, is how individual components in the rendering pipeline perform.
Knowing each component's performance and locating bottlenecks is the first necessary step in optimizing graphics rendering on any Mali-based system
.
Graphics rendering on Mali is a frame-based pipelined process that involves several processing units. The process begins with the graphics application running on CPU making API calls to the Mali driver. The Mali driver then sets up data in system memory required by Mali GPU to render a frame. The GPU can't start rendering until the CPU has completely set up data for that frame.
Within Mali GPU, the geometry processor (GP) consumes data previously set up by the CPU and passes them on to the pixel processor (PP). The PP can't start rendering until the GP completely sets up required data in memory for that frame.
You get the picture. Data dependency between processing blocks means a bottleneck in any of the processing cores throttles the whole system FPS. In addition, processing cores need to access system memory so high memory latencies can potentially be a bottleneck as well.
Using the Mali performance analysis tool (PAT), in conjunction with instrumented Mali drivers, one can usually spot a CPU-bound use-case easily. The measured system FPS would be significantly lower than GP or PP FPS (measured by PAT). See attached image.
Has anyone found any interesting bottlenecks, or tricky ones to spot?
Parents
Tim Menasveta
over 11 years ago
Note: This was originally posted on 3rd March 2011 at
http://forums.arm.com
Hi Ravindran,
I suppose you could use GLbenchmark, as well as any other test case, to analyse bottlenecks in your system, which could point to opportunities for system design improvements.
--Tim
Tim, btw,
Is it possible to use GLBenchmarking for Performance Optimization ?
Ravindran
Cancel
Up
0
Down
Cancel
Reply
Tim Menasveta
over 11 years ago
Note: This was originally posted on 3rd March 2011 at
http://forums.arm.com
Hi Ravindran,
I suppose you could use GLbenchmark, as well as any other test case, to analyse bottlenecks in your system, which could point to opportunities for system design improvements.
--Tim
Tim, btw,
Is it possible to use GLBenchmarking for Performance Optimization ?
Ravindran
Cancel
Up
0
Down
Cancel
Children
No data