-
Notifications
You must be signed in to change notification settings - Fork 8
Async bitmap present #138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Async bitmap present #138
Conversation
|
wow! |
|
I would love to help benchmark on some unique systems configurations i have: i was having a hard time getting pyside6 to show fps numbers above 60 fps on my (linux) machine. I feel like I must set:
Happy to setup a development environment for this, i can readily test on:
|
|
Create a canvas like this (e.g. taking our cube.py example): canvas = RenderCanvas(
title= $backend - $fps fps",
update_mode="fastest",
vsync=False,
present_method='bitmap' # bitmap or screen
)Then the fps is shown in the title bar. There is no actual null backend. I just temporarily made My first benchmarks were on my Mac M1. I will add some tests with Intel and NVidia GPU's later. |
Ref #66
Timings
All numbers are in FPS, on a full-screen window on a Retina display (physical size 5120x2774).
The Cocoa is a WIP native backend for MacOS that uses Metal to display a texture that's stored in RAM.
The Null backend has
_rc_present_bitmapas a no-op, so the bitmap is downloaded to CPU and then discarted.Cube example
- Glfw: 180-200
- Qt: 120-190
- Qt: ~51
- Cocoa: 65-70
- Null: 70-80
- Qt: ~70
- Cocoa: 110
- Null: 140
Heavy example
- Glfw: 48-51
- Qt: 48-51
- Qt: 21-23
- Cocoa: 25-27
- Null: 27-30
- Qt: 46-51
- Cocoa: 46-51
- Null: 46-51
Interpretation
Todo