Earlier quoted context omitted.
Things like this convince me more and more that SVG is overdesigned and solving the wrong problem: The world needed a vector version of PNG far more than it needed a vector version of HTML/CSS.
That makes no sense. SVG _is_ the vector equivalent of PNG. Just because it's defined in an xml namespace that can be directly embedded in html, doesn't mean it is somehow bound to it.
Blend2D – 2D Vector Graphics Engine
41–43 of 43 posts
Re: Blend2D – 2D Vector Graphics Engine
#42Earlier quoted context omitted.
I have had great success using the ideas presented here ( http://m1el.github.io/woscope-how/index.html ) for simulation of traditional vector graphic screens. It is very fast and easily modified to allow for intensity modulation as well.
I really enjoyed your demo. Thank you.
Re: Blend2D – 2D Vector Graphics Engine
#43Earlier quoted context omitted.
It's true that increasing the size of framebuffer demands more from CPU as well. According to my experience a single core on a modern machine has no problem to render real-time into a FullHD framebuffer at high frame rate (depending on the content of course, but UI is fine). This means that multithreaded renderers using 4 threads should be able to render to 4K framebuffer without any issues. Since AMD will release 16…
Well, CPU rasterization is always O(N) complex (where N is number of pixels on screen). Multithreading here just adds constant multiplier that according to the math will still lead to O(N). While GPU rasterization, from application perspective, is near O(1) - does not depend on number of pixels in ideal circumstances. And having multiple threads to render UI is not desired - there are too many CPU consumers on modern…
"CPU rasterization is always O(N) complex (where N is number of pixels on screen)"
But this is definitely not the Blend2D case. I think you will not find rasterizers in production with such properties in software-based 2D rendering as that would be really inefficient. Path boundary matters and that is often the worst case scenario, but Blend2D does much better than this, for example.I see no problem with multithreading, because it doesn't mean that all CPU cores will be busy with rendering, it means that the total time required to render a frame will be much lower while utilizing CPU power in a more distributed way instead of stressing a single core. You can use 2-4 threads on 8 core machine, for example, leaving the rest for other real-time tasks if required. Applications that use GPU for 2D rendering also use the full power of the GPU, if available.
Single core performance is stagnating while the number of CPU cores is increasing, so it's simply practical to design software to take advantage of that.