[cairo] scale without bluring
gurnett at glocalnet.net
Sun Sep 28 15:12:54 PDT 2008
The data is such that individual spikes are not an issue. The graph is
basically there so that the user can see the general behaviour of the
currents and voltages of the machines. For a more detailed view the user can
monitor log files that save every second over a 72hr period (alot of data).
I have a moving data window that just shows the last lot of data, but users
do like to see entire data window as well. With the approach as was
attempting here I get a constant behaviour in regards to how long the data
processing takes and also a fairly small use of memory..
----- Original Message -----
From: "Vladimir Vukicevic" <vladimir at pobox.com>
To: "Michael Gurnett" <gurnett at glocalnet.net>
Cc: <cairo at cairographics.org>
Sent: Sunday, September 28, 2008 11:57 PM
Subject: Re: [cairo] scale without bluring
> On Sep 28, 2008, at 2:41 PM, Michael Gurnett wrote:
>>> I have to copy the old picture, To much data to redraw all over again.
>>> scaling down along the x-axis adding a a bit more data and then scaling
>>> adding data and so on.
> That's never going to give you a reasonable result, though -- you're
> filtering the image each time you add data, and losing tons of data.
> With either nearest neighbour or bilinear filtering, there'll be
> something wrong... with nearest, it'll easily hide big spikes in your
> data graph, if that column happens to be skipped due to rounding. With
> bilinear, it'll just blur your graph to nothing useful.
>> Should I be using patterns instead. I've been using
>> cairo_set_source_surface (cr_buffer, surface_current, 0, 0);
> Shouldn't matter. You should probably rethink the way that you're
> rendering data.. for example, instead of rescaling for each data point,
> add in a new chunk at a time... e.g. maybe 25% of your total width --
> when you fill it up, compute averages of the previously received data and
> draw it into the first 75%, then start filling up the new 25% using the
> same average window.
> - Vlad
>> ----- Original Message -----
>> From: "Chris Wilson" <chris at chris-wilson.co.uk>
>> To: "Michael Gurnett" <gurnett at glocalnet.net>
>> Cc: <cairo at cairographics.org>
>> Sent: Sunday, September 28, 2008 10:47 PM
>> Subject: Re: [cairo] scale without bluring
>>> On Sun, 2008-09-28 at 21:32 +0200, Michael Gurnett wrote:
>>>> Have been struggleing with this for a while now and could do with some
>>>> pointers. I rescaling a graph by 0.99 over and over again in the x
>>>> directions. When I do this the image blurs out and in the end the data
>>>> is lossed. I tried using StretchBlt but this just not seem to be
>>>> compatible with the format of the cr. It doesn't blur but i doesn't
>>>> scale correctly. I've tried turning off antialising but that does not
>>>> seem to help either. Any hints on how to scale without blurring.Is
>>>> there a StretchBlt equivalent in cairo that I have missed?
>>> You haven't mentioned it, so I assume you've not tried setting
>>> CAIRO_FILTER_NEAREST on the source pattern. Although I have to ask, why
>>> are you rescaling the graph and not redrawing?
>>> Chris Wilson
>> cairo mailing list
>> cairo at cairographics.org
More information about the cairo