QPrompt-Teleprompter icon indicating copy to clipboard operation
QPrompt-Teleprompter copied to clipboard

Poor performance on Raspberry Pi 3+

Open GeorgeBroughton opened this issue 1 year ago • 3 comments

Bug Description I get around 4FPS or worse in the desktop environment on the latest Raspberry Pi OS as of posting this issue only when QPrompt is loaded.

Steps to Reproduce

  1. Install QPrompt 1.1.6 via the ARM deb package via apt
  2. Launch it.

Expected behavior I expected it to not be unusable

Detailed description of display configuration (if applicable) A single 1080p screen.

Device information

  • QPrompt Version:1.1.6
  • Operating System:Raspberry Pi OS With Desktop, kernel 6.6 ( image SHA256 EA6E68C48D14C3D78AF5471C0B288BBF6522FDD775241F74D8295D106D344300 )

GeorgeBroughton avatar Jan 13 '25 06:01 GeorgeBroughton

Hi @GeorgeBroughton,

The Raspberry Pi 3 does not meet the minimum performance requirements to run any teleprompter software with a 1080 display. You will need to lower your speed to 480p to get decent performance with QPrompt (user experience will be sub-optimal at that resolution).

Alternatively, you could use Imaginary Teleprompter, which takes a lower toll on the Raspberry Pi 3. There you can use a 720p display, albeit at a low frame rate.

The minimum Raspberry Pi model recommended for QPrompt is the Raspberry Pi 4b with a single 720p display. For 1080 you must use a Raspberry Pi 5 or a competitor SoC with a better GPU than the MALI chip the Pi 4 brings.

If you have interest in compiling QPrompt in a Raspberry Pi, 8 GBs of RAM is the minimum requirement. If you're just going to run it, 4 GB is recommended as that will enable a Wayland based compositor on the OS which will yield better performance, again at 720p.

No current ARM SoC is able to handle prompting on two displays at the same time. For that use-case external duplicator hardware should be used.

Cuperino avatar Jan 13 '25 15:01 Cuperino

The Raspberry Pi 3 does not meet the minimum performance requirements to run any teleprompter software with a 1080 display.

Challenge accepted. You can close this.

GeorgeBroughton avatar Jan 13 '25 19:01 GeorgeBroughton

The Raspberry Pi 3 does not meet the minimum performance requirements to run any teleprompter software with a 1080 display.

Challenge accepted. You can close this.

I mean, there's always a way, but you'll likely have to sacrifice quality of life features like anti-aliased text or development time re-inventing the wheel. You would likely have to forgo the convenience that high level development toolkits such as Qt and GTK, and web engines bring, when it comes to handling rich text.

I would like to avoid having to write a teleprompter engine in Vulkan or OpenGL directly, because, even if that meets the requirements of more constrained systems, it would be much more difficult to maintain and expand upon. People are requesting other features and the program must be able to acomodate them.

If we had infinite time, I'd be writing Teleprompter for Terminals 2 using nocurses for a blitzer and indexed colors to render and smoothly animate large fonts in the shell. If you cache all the glyphs before you start prompting into bitmaps, and implement some form of hardware scrolling, a 286 system running DOS is more than capable to run a teleprompter.

If you'd like to take on the challenge, contributions are welcome. The constraints for this project are that the prompter's viewport must be renderable inside a Qt 6 QQuickItem, with sub-pixel animations, and there must be a way to take those contents and render them on multiple screens at the same time.

Cuperino avatar Jan 13 '25 20:01 Cuperino

Issue resolved.

Tested on QPrompt v2.0 Early Access 12 using a Full HD display and Raspberry Pi 3 Model B Rev 1.2, running Raspberry Pi OS Trixie 64 bit.

To increase performance to 60 fps, go to Main Menu > Other Settings > Other tweaks > Performance tweaks and enable all the tweaks. Restart the app, then enter full screen, go to Reading region and uncheck Bars. Optionally, go to Indicators and select No pointers for a slight extra improvement.

The most important steps are: disabling the opacity slider (part of enabling performance tweaks), disabling bars, and entering full screen.

Lastly, ensure proper ventilation and adequate power to prevent the CPU from throttling.

Download QPrompt 2.0 EA 12 at: https://www.patreon.com/posts/qprompt-2-0-ea-140523887?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator&utm_content=join_link

Cuperino avatar Oct 06 '25 00:10 Cuperino