Depending on your GPU, you can render say 1-50 million points smoothly. Also see e.g. https://github.com/pygfx/pygfx/discussions/819
34 karma · joined June 18, 2019
Depending on your GPU, you can render say 1-50 million points smoothly. Also see e.g. https://github.com/pygfx/pygfx/discussions/819
In the plans that we do have for running the browser, Fastplotlib, Pygfx and wgpy-py will still be Python, running on CPython that is compiled to WASM (via Pyodide). But instead of wgpu-py cffi-ing into a C library, it would make JS calls to the WebGPU API.
Fastplotlib / pygfx are primarily meant to run on desktop. When using it via the notebook the server does the rendering.
As Ivo said, we have plans to support running in the browser via Pyodide, which opens some interesting things, but is not the primary purpose.
It sounds to me that Qt created their own abstraction over Vulkan and co, because wgpu did not exist yet.
I can't really compare them from a technical pov, because I'd have to read more into QRhi. But QRhi is obviously tight to / geared towards Qt, which has advantages, as well as disadvantages.
Wgpu is more geared towards the web, so it likely has more attention to e.g. safety. WebGPU is also based on a specification, there is a spec for the JS API as well as a spec for webgpu.h. There's actually two implementations (that I know of) that implement webgpu.h: wgpu-native (which runs WebGPU in firefox) and Dawn (which runs WebGPU in Chrome).
We deliberately don't try to create an API that allows you to write visualizations with as few lines as possible. We focus on a flexible generic API instead, even if it's sometimes a bit verbose.
We leave it up to others to create higher level (domain specific) APIs. Fastplotlib is one example: https://github.com/fastplotlib/fastplotlib
That said, readthedocs is a pretty nice platform to host your docs in a simple way. Plus users are not tracked. So personally I don't mind so much, but I'm going to have a look at the paid plan to remove ads for our users :)
Also, wgpu forces you to prepare visualizations in pipeline objects, which at drawtime require just a few calls. In OpenGL there is way more work for each object being visualized at drawtime. This overhead is particularly bad on Python. So this particular advantage of wgpu is extra advantageous for Python.
I do see the problem that some people pretend to be more experienced than they are, or worst case are scamming clients.
On the one hand, you could ask a contractor to do a certain (well-specified) piece of work for a fixed price. But it's often hard to define the specifications precisely, especially in software projects.
The alternative is charging by the hour. I see this as a journey that the client and contractor take together. You have a certain goal in mind, and the contractor helps you work towards it. You need regular meetings to discuss the progress, obstacles, and together decide on the best way forward. Daily standups could help too, but depending on the complexity of the work, I'd recommend a weekly or biweekly in-depth meeting.
Could it be that the experience with scammy contractors is because they are given a task towards an ill-defined goal with too little opportunity to discuss progress?
But deliberately not sharing your creation, keeping things idiosyncratic and a bit chaotic also has it's charm :) The bliss of knowing that you don't have to worry about code quality or users asking for new features!
I wrote some simple tools, e.g. a note-taking app, and scripts to organize photo's. I also wrote a time tracker :) but I open sourced that one (it's called timetagger).