[Pharo-dev] Graphic System Arquitecture Question
alexandre.bergel at me.com
Sun Nov 24 12:00:11 EST 2013
It would be great to have this issue debated and fixed. I have the impression that using the Cairo backend suffers from the same problem.
> Le 22-11-2013 à 14:57, Ronie Salgado <roniesalg at gmail.com> a écrit :
> I want to know about the Pharo graphic system architecture, I whould like to know if there's some documentation explaining his inner works.
> For NBOpenGL and Roassal 3D in particular, I'm having some flickering, which I think is related to the way that the OpenGL framebuffer is transferred into a pharo window.
> In NBOpenGL, rendering is done in a offscreen FBO, whose content is transferred into main memory y blitted into a pharo window. The pharo window of course must be blitted or renderer into the screen, which means anothere transfer into the GPU. In other words, we are a GPU->CPU->GPU memory roundtrip.
> The consequences of this are the lost of performance, the lost of double-buffering and which is more important, the lost v-sync. The lack of v-sync is seen in the way of tearing, which is more appreciated when moving on the X-axis in a 3d view, such as in the Roassal3D example in R3Example>>city.
> I have heard that in pharo 3, all of the graphics are being moving into Athens, a new graphics, for which I donr't know where's the documentation. I believe that athens is a vector graphics API, which several backends as cairo, which also has an opengl backend. I would like to share that OpenGL context to avoid that round-trip if possible, or use a native window for the OpenGL stuff, but to that I need to know how pharo graphics are done.
> Ronie Salgado
More information about the Pharo-dev