On 12.10.2012 11:06, Esteban Lorenzano wrote:
also, the "retina problem" is a much more complex problem than it looks: it
exposes how aged (obsolete is a better word, I think) is our graphics system. Now, Athens
will solve that problem, but there is no magic to do that can make the old graphics
infrastructure to work with new hardware requirements, any adaptation of it will take a
lot of work, and probably will not reach a good place...
So, IMO the way to go is continue the efforts for make Athens work, and move
morphic to work with it as soon as possible.
Esteban
ps: what? are you saying that we should remove something that is there since
1980? Yes I am! :)
I think, if not ideal, it could at least reach an interesting place if
some consessions were to be made.
- Giving up the World bitmap as a canonical bit-identical rendering on
all platforms, and treat it more as a convenient place to grab contents
for screenshots once in a while.
In that case, what would need to be replaced if one were to use morphs
mostly unaltered, is a way to fetch the current contents of a region of
the screen buffer during a display cycle (for doing alpha blending
in-image).
Basically, instead of going
graphic primitives -> paint on World bitmap -> display World bitmap
onscreen
you could then do
graphic primitives -> paint on platform structures -> display platform
structures onscreen -> synchronize World bitmap with platform structures
and achieve pretty good consistency image-side with what is available today.
IIRC, Athens goes
Athens graphics primitives -> paint on backend structures (f.ex. Cairo)
-> copy backend structures to World bitmap -> display World bitmap onscreen
So the underlying way of how to actually display shapes onscreen hasn't
changed much (at least the last time I looked at it), it still displays
a bitmap, and that's it.
Cheers,
Henry