Remember me

Lost Password?

Register now!


Who's Online
60 user(s) are online (42 user(s) are browsing Forums)

Members: 1
Guests: 59

beworld, more...

Support us!


Report message:*

Re: Odyssey 1.23: AOS4 source code on GitHub

Subject: Re: Odyssey 1.23: AOS4 source code on GitHub
by Hans on 2020/3/4 13:35:57


"moving rendering to the GPU" without DMA ?:)


From our tests with warp3dnova/ogles/gl4es , SDL2, DOSBOX, and compositing in all our projects, the current conclusion is that compositing always faster than gl4es/nova/ogles/minigl whatever. And that not even about DMA, but just probably because OpenGL is a more massive thing and need more to initialize just for some simple things.

That depends entirely on how those projects use OpenGL and compositing. Are they using CompositeTags() to do everything that you'd otherwise do using OpenGL? Or, is rendering done in software, and then compositing is used to finally render it to screen?

Also, have too many layers between not very helpful too. If there should be "rendering to the GPU", it should be then warp3dnova backend for Cairo, but then again no_dma.

The cairo-gl backend already exists; a Warp3DNova backend doesn't. Trying out the GL backend is way easier and faster than writing a new one from scratch. **

Taking the same no-DMA situation, but on compositing, always faster from all the tests than non-DMA on OpenGL, which always hit 100% CPU and busy everything when uploading textures and whatever else it does internally.

Sounds like poor use of OpenGL to me...
I have no idea how good or bad the Cairo GL backend is, which is why I asked if you'd tried it.

Yes, writing compositing backend will take time sure, but it will work everywhere...

I don't think that a Compositing backend is feasible. Compositing can't do text rendering, or a whole bunch of other operations that Cairo does. Things such as gradient fills of shapes are technically possible, but would be much slower than if it were done in a shader. Partially GPU accelerating the rendering will likely increase how much data is transferred back and forth between RAM <=> VRAM, so you'll hit the lack of DMA bottleneck again.

The one thing that might work, is to use compositing to merge layers that are software rendered by Cairo with the video player's imagery. That way the javascript video controls could still be rendered on top of the video.


** Added to that, the latest WebKit no longer relies on Cairo, so we'd be better off doing the same...

Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project