First of all: yes I am back. I started working on the project again last week. That doesn’t mean I can spend much time on it but at least I do spend some.
I have been rewriting entirely the paint stroke part. There were many problems with the previous ones. Most of all when painting at 10% every spot added another 10%. When someone selects 10% he wants it to be so. So I added a temporary layer of paint onto which you can paint which only gets ‘pasted’ on the image once you release the mouse/tablet pressure. This also gives much better results when using special paint modes (addition, multiply whatever). I also fixed crashes that happened when painting fast from one side to another (too many CoreImage filters killed my iBook, so I have to force applying the result every now and then).
So where’s the release you say? I am not going to release it right now for one reason: I had the occassion to test ChocoFlop on a CoreImage supported machine (well, not supported, but working… sorry) On a 3ghz intel with a 70$ 256mb radeon 9550 card: CoreImage just flies! It’s just like in the WWDC demo, blur filters happen at like 50 fps. Everything is instantaneous! That is amazing! Photoshop in Windows on this same machine looks like a dog compared to that (on small images that is). The downside? ChocoFlop itself sucks awfully on this machine, and probably any other with a decent GPU. It is hardly faster than my iBook from a visual point of view. Everything is so laggy compared to other apps… sigh
Because my lowly iBook has an unsupported graphics card I have been quietly optimizing the app for the only mac I had access to. I was quite satisfied when comparing it to other apps. But the results is that I “break the pipeline” on every operation. The whole thing about CoreImage instant effects is that all operations get done in the GPU and you don’t have to go back and forth. That idea of rendering the CIFilters onto an OpenGL texture sounded good on my Ibook, but it’s just *horrible* on a Radeon9550 computer. And I don’t want to know what it’s like on an X850…
Funny thing is that originally my idea to render over an OpenGL texture (which requires flipping y on every update, and is rather slow) was that once this was done I could display in zoomed, pixellated modes very fast. Yay, ChocoFlop is the fastest zooming image manipulation app out there, but the goal is not to zoom in and out…
So I am going to rewrite the final part of the display model. Maybe I’ll keep the two different models for low and high end machines. Not sure how long it takes, but when it’s done my good old Choco is going to fly… huh.. even on powerful machines ?