I was just thinking: live preview with the overlay on is a lot slower,
presumably because full-size images have to be rendered. It would be more
work, but it would be a lot faster to use a reduced-resolution copy of the
overlayed image--and if the image size is matched, there's no scaling
required at render time.


On Sun, Feb 17, 2013 at 3:29 PM, Paul Archer <p...@paularcher.org> wrote:

> I tried adding in a 'cairo_scale', which works. It does seem to slow
> things down a little, but not horribly. That is, it's pretty slow to begin
> with, when the overlay is on, so it doesn't make it much worse.
> My big problem is I can't figure out how to find the right scale. I can
> hard-code numbers, but that will only work with my particular model.
>     cairo_t *cr = cairo_create(priv->pixmap);
>     while (tmp) {
>         image = ENTANGLE_IMAGE(tmp->data);
>         pixbuf = entangle_image_get_pixbuf(image);
>
>         gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0);
>         if (tmp == priv->images) {
>             cairo_scale(cr,5,5);
>             cairo_paint(cr);
>         } else {
>             cairo_paint_with_alpha(cr, 0.5); }
>
>         tmp = tmp->next;
>     }
>     cairo_destroy(cr);
>
>
>
>
> On Sun, Feb 17, 2013 at 4:59 AM, Daniel P. Berrange <d...@berrange.com>wrote:
>
>> On Sat, Feb 16, 2013 at 11:43:44AM -0600, Paul Archer wrote:
>> > First, I want to say thanks, Daniel, for writing this, and for adding
>> the
>> > onion skin/overlay images option.
>> >
>> > Unfortunately, there seems to be a bug with the overlay. I don't know if
>> > it's just with my particular setup, though. I've tried both compiling
>> from
>> > source, and getting the package from getdeb (now that it's back up).
>> I'm on
>> > Ubuntu 12.04 amd64, with a Canon 50D.
>> > Anyway, the problem is that as soon as I go into live preview mode with
>> the
>> > overlay option on, the preview window shows the prior shots, with the
>> live
>> > view shrunk down to about 1/8 the window size and stuck in the upper
>> left
>> > corner.
>>
>> Doh, I know what is happening - the live view images are much smaller
>> resolution than the actual captured images. We're drawing them at the
>> same scaling factor, so the live view looks tiny by comparison. We need
>> to apply different scaling factors to each image, so that they all end
>> up rendered at the same size on screen.
>>
>> > Anyway, hope it's an easy fix. I'm not sure where to look in the code,
>> but
>> > if you point me in the right direction, I can at least give it a try.
>>
>> It'll be in src/frontend/entangle-image-display.c file in the method
>> do_entangle_image_display_render_pixmap(). Not sure how easy it will
>> be for you to fix though, because I fear there will be some performance
>> issues with scaling during live view, due to the frequent refreshes.
>>
>>
>> Daniel
>> --
>> |: http://berrange.com      -o-
>> http://www.flickr.com/photos/dberrange/ :|
>> |: http://libvirt.org              -o-
>> http://virt-manager.org :|
>> |: http://autobuild.org       -o-
>> http://search.cpan.org/~danberr/ :|
>> |: http://entangle-photo.org       -o-
>> http://live.gnome.org/gtk-vnc :|
>>
>
>
_______________________________________________
Entangle-devel mailing list
Entangle-devel@gna.org
https://mail.gna.org/listinfo/entangle-devel

Reply via email to