Selon Nathan Ingersoll <[EMAIL PROTECTED]>:
> > > I recently got a G4 IBook and wanted to test evas on it; after some
> compiling 
> > > problems, I get it to run and ... well, that's not bad but I was once
> more 
> > > disapointed by its result (the 800MHz G4 that's in this computer doesn't
> seem 
> > > to be very powerfull, be warned...). Well, the OpenGL version of the 
evas
> test
> > > 
> > > program run far better (thanks to the radeon 9200), but I wanted for 
long
> to 
> > > study a bit the altivec instruction set; I had found my guinea-pig.
> > > So, inspired by the mmx functions, I began to code some functions using 
> > > altivec, while learning thanks to the Apple's tutorials. I first looked
> at the
> > > 
> > > top 5 that gave me gprof on the evas_software_x11_test, and I got quite
> good 
> > > results for me, to give just a few: a 60% gain in blending pixels on
> pixels, 
> > > and 33% gain in copying pixels (I also made an altivec optimized version
> for 
> > > blending colors and colors with alpha). For now they're not perfect, and
> 
> > > surely need some corrections and enhancement, but I think I could soon
> send 
> > > them to this list...
> > > I've got one little thing to say about blending, as the the precision
> concern 
> > > was discussed on this list (about the division by 255): the mmx version 
> > > doesn't give at all the same result as the C one ("not at all" doesn't
> mean 
> > > they're totally different, but lots of results are off by 1), and 
neither
> does
> > > my altivec version.
> 
> Awesome! This takes one item off my TODO list. I did a YUV->RGB
> colorspace conversion routine a while back and intended to do the
> alpha-blending code next.
> 

As I said in my previous email, the code I did isn't very clean cause I looked 
at the mmx one and tried some "close" altivec instructions. So this part isn't 
finished yet...

> If you've got some issues to iron out with it still, feel free to send
> it my way and I'll do what I can to lend a hand.
> 

That's cool :) For now I'm cleaning up the patch, by putting #ifdef's where 
it's needed, and I'll send it to you when it's done.

> > > The first problem is the memory consumption: I know that evas doesn't
> leak 
> > > memory, I tested every Apple's tool to look at memory leaks, and I 
didn't
> find
> > > 
> > > anythink, but the evas test app is *filling up all the memory* !!! Not
> even 
> 
> Depending on which version of MacOSX you're using, there is a utility
> called Shark (built in to XCode now IIRC) that is quite useful for
> identifying hot spots in your code. There is also MallocDebug which is
> quite nice for monitoring memory use. It might be useful to give it a
> run through those.
> 

I already tried MallocDebug, but it gave me nothing (I'm using MacOSX 10.3). 
I'll look at shark. But it seems to be a strange problem that doesn't come 
from evas. Did you get this bug ?

> As for the pseudo-C, there is a lib on Linux to provide the same
> functionality. You have to #include <altivec.h> and link to -laltivec,
> but it's supposed to be fairly compatible. That being said, I have not
> tested the current altivec optimizations on Linux yet. I think we need
> to add a couple configure checks for this to work. My hardware running
> Linux is too old and would not benefit from altivec.
> 

Anyway, Apple's library isn't very attractive when you're willing to have very 
fine-tuned optimizations.
And yes the configure would have to be updated (but well, if nobody can test 
it ...)

> > > graphic intensive, at least for the first part, and maybe that's why X
> drawing
> > > 
> > > routines come first, but this may be a problem when the others will be
> solved.
> > 
> > basically x uses up about 15-20% of the display pipeline with doing copies
> from
> > client memory to the framebuffer. that is about the fastest i have managed
> to
> > get it. thats how it is on native x86 and native xservers.
> > 
> > > If someone has a linux ppc comp to test this on, and could tell me if
> these 
> > > problems arise on a native X display, it would be great (I plan to
> install 
> > > linux one day on mine, but for now it's quite in early stage of
> developement, 
> > > even if it already works on most of the recent G4s).
> 
> FYI, I saw a tremendous drop in performance under OS X at one point
> about a year ago. After upgrading X, my evas test dropped from somewhere
> around 1.0 down to around 0.500. I think fink may install some X libs
> that are not optimal for the Apple X server.
> 

I use the X server from apple, even if I got evas' necessary libs from fink. 
And as I only got my mac for 4 months now, so I can't compare ... I got 
(before optimizations) about 40 fps in the evas test (don't remember the 
score), but I wasn't aware of the memory problem (which slows things down a 
lot), and now (after optimizations and leaving only the evas test to keep a 
maximum of free memory) i get around (but below) 60 fps .... but it depends 
...

> Good luck!

Thanks, you too !

> Nathan
> 


-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to
deliver higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3
_______________________________________________
enlightenment-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to