Hmm. Weird. Could it be a linux thing? Bit order or something? Could it be a transparency issue? Could it be a size of the form? I have forms of size around 200 x 200. At this point, I haven't numerically investigated it. I just notice a significant difference in rendering speed as I switch from forms to SVGs. Perhaps it is having to redraw the entire interface very often. I'll investigate a bit more when I have some time. Cheers, Jeff On Thu, Jan 9, 2014 at 2:08 AM, Igor Stasenko <siguctua@gmail.com> wrote:
On 8 January 2014 08:59, J.F. Rick <self@je77.com> wrote:
In good news, I was able to implement the S/s functionality and both of my SVGs now load properly. I'll try some more soon and commit the changes once I have tested it a bit more.
In bad news, the cacheing was working properly, so I still suspect that rendering forms as a paint is too intensive to be practical for many applications. I'll try to evaluate it a bit more as I replace forms with SVGs. If the forms are causing the problem, then performance should noticeably increase.
I just did a little comparison:
| surface time | surface := AthensCairoSurface extent: 200@200.
surface drawDuring: [ :canvas| canvas setPaint: Color red. canvas setShape: (0@0 extent: 100@100). time := [ 10000 timesRepeat: [ canvas draw ] ] timeToRun. ]. time 0:00:00:00.115 =============
same as above but with: canvas setPaint: (ThemeIcons current backIcon).
time 0:00:00:00.093 ===========
same as above but with: (canvas setPaint: (ThemeIcons current backIcon)) repeat.
time 0:00:00:00.956
as you can see, even in slowest case, the throughput is:
100*100*10000 = 100'000'000 pixels (texels) per second.
Cheers,
Jeff
-- Best regards, Igor Stasenko.
-- Jochen "Jeff" Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick