Hello,

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.

Greetings,
Ronie Salgado

Reply via email to