Optimizing real-time waveform display for Raspberry Pi
One of the things that sets BitScope apart from other PC based test, measurement and data acquisitions systems is its interactive software which displays live mixed signal waveforms in real-time running on a wide variety of computers and embedded systems.
Late last year we started porting our software to Raspberry Pi. We love the Pi and while it's not the fastest little computer on the planet (update: it's much faster now), turns out it's more powerful than you might think, if used correctly.
What do we mean by "used correctly"?
In a nutshell we mean to run code optimized for efficient execution on a system with a modest (by today's standards) CPU, FPU and L1/L2 caches, and a partially accelerated X server. This is not to say Raspberry Pi does not have very powerful graphics (it does!) or that it can't do some pretty good number crunching (it can!) but our aim is to leverage what is available in a cross-platform sense without resorting to writing customized GPU code (not yet anyway).
Over the past decade or so software developers have been spoilt somewhat as the Intel juggernaut churned out ever more powerful (and power hungry) processors. In our view all this power has obscured architectural flaws that have crept into the software written for these systems. It has resulted in poorer performance than is otherwise possible if only the software was written a little differently. One only needs to look at the CPU and graphics hardware of an old Amiga to marvel at what can be achieved with much less grunt than a modern x86 i7.
So we started tackling this problem by developing BitScope Display, a cross-platform diagnostic tool to help assess the display performance across all supported platforms. We've focused on platform suitability for real-time interactive use with BitScope. It has enabled our beta testers to provide practical feedback from their Windows, Mac, x86 Linux and ARM/Rasperry Pi based systems as we developed the latest DSO production release.
In the hope that it might be useful to others, we've published it to enable you to see how well your system performs for live waveform display without actually needing a BitScope and without being distracted by other issues such as signal processing, USB performance, network latency or device configuration settings.
There is more to the story of software optimization than just display but for BitScope it goes a long way to achieving our goal; high speed waveform capture and analysis on the widest range of platforms possible. We'll post more updates soon about other ways we're boosting our software performance, especially on Raspberry Pi, so stay tuned!
Related Posts
| Build a powerful mixed signal workstation with one simple 3D print ! | Sep 3 |
| Raspberry Pi Zero W, a wireless wonder for only $10 ! | Feb 28 |
| Raspberry Pi 3 Launch and BitScope Blade | Feb 29 |
| Physical Computing with Raspberry Pi and BitScope! | Dec 03 |
| BitScope Micro with Raspberry Pi Touchscreen Display! | Sep 09 |
| BitScope, Ozberry & Pimoroni at Sydney Mini Maker Faire! | Aug 12 |
| BitScope Blade for Raspberry Pi at Hannover Maker Faire! | Jun 05 |
| BitScope DSO 2.9 Now Available. | Jun 02 |
| Getting Started with BitScope | May 08 |
| BitScope Micro In-Line Data Acquisition | Apr 02 |
| BitScope ARM Platform Compatibility | Feb 10 |
| Bootstrapping Raspberry Pi 2 for BitScope | Feb 05 |
| Raspberry Pi 2 and BitScope Performance | Feb 02 |
| BitScope Micro & Raspberry Pi in Education at BETT | Jan 21 |
| BitScope Connection Ports Explained | Dec 19 |
| BitScope Micro and Oscilloscope Probes | Dec 10 |
| Raspberry Pi Model A+ or B+ or B+ Slimline? | Nov 14 |
| Electronic Measurement with BitScope & Raspberry Pi | Nov 12 |
| Hands on with BitScope Micro at electronica 2014 | Nov 11 |
| BitScope Micro Video Tutorial with Farnell element14 | Nov 10 |
| BitScope Micro and Raspberry Pi at electronica 2014! | Nov 06 |
| BitScope Micro element14 Webinar Review. | Nov 03 |
| BitScope Micro Webinar with element14! | Oct 29 |
| element14 launches BitScope Micro for Raspberry Pi! | Oct 27 |
| BitScope Micro Diagnostic Port Explained. | Aug 16 |
| MagPi talks Raspberry Pi B+, HATs & BitScope. | Aug 04 |
| Raspberry Pi B+ BitScope x 4 = 8 analog + 32 logic ! | Aug 01 |
| Low cost networked data acquisition with Raspberry Pi. | Dec 17 |
| BitScope Server, shared remote access for any BitScope! | Dec 15 |
| BitScope DSO updated for Server Compatibility | Dec 14 |
| Collaborative Solutions, Online & Interactive Education. | Dec 09 |
| Powerhouse ThinkSpace Digital Learning | Dec 04 |
| The Sydney Mini Maker Faire Review. | Nov 28 |
| Breadboard One, the 4 Bit Up/Down Counter | Nov 07 |
| Using a USB BitScope with any Linux system. | Nov 05 |
| Sydney BitScope, Online Demo Updated. | Oct 30 |
| BitScope Touch Screen User Interface | Oct 28 |
| BitScope is virtually indestructible, just as we intended! | Oct 23 |
| BitScope Ed at OzBerryPi, Presentation Review. | Oct 21 |
| Vertical Offsets and Dual Channel Display | Oct 19 |
| How to Install BitScope DSO on Raspberry Pi | Oct 18 |
| Breadboard One, a typical Mixed Signal Circuit. | Oct 17 |
| Dual Channel Active Differential Probe (New Product). | Oct 15 |
| BitScope Smart Port. The clever connection. | Oct 12 |
| BitScope Ed, an Educational Blog about Electronics. | Oct 09 |
| Why the oscilloscope update rate is important. | Oct 06 |
| BitScope Software Blog Launched | Oct 04 |
| Differential measurements matter, here's why... | Oct 01 |
| BitScope Website Upgrade and Blog Launch | Sep 29 |
| BitScope Software for Raspberry Pi Oscilloscope | Sep 27 |
BitScope | BitScope DSO Tutorial Examples | Sep 09 |