Raw Cache Vs double raw buffer - General Discussion and Assistance - CHDK Forum
supplierdeeply

Raw Cache Vs double raw buffer

  • 6 Replies
  • 4879 Views
*

Offline Lebeau

  • ***
  • 187
Raw Cache Vs double raw buffer
« on: 19 / March / 2011, 15:51:54 »
Advertisements
In RAW menu, we can activate Raw Cache, which is supposed to be faster.

My question is:
"Could we desactivate Raw Cache and use that cache to reverse byte order for DNG, without dereversing byte order ?"

*

Online philmoz

  • *****
  • 3450
    • Photos
Re: Raw Cache Vs double raw buffer
« Reply #1 on: 19 / March / 2011, 17:54:57 »
In RAW menu, we can activate Raw Cache, which is supposed to be faster.

My question is:
"Could we desactivate Raw Cache and use that cache to reverse byte order for DNG, without dereversing byte order ?"

See http://chdk.setepontos.com/index.php?topic=5917.0

For cameras with two or more RAW image buffers this is already implemented in the current trunk, based on the work I did with the G12 and SX30.
You have to implement 'hook_alt_raw_image_addr' in lib.c for your camera - see the G12 or SX30 code for examples.

This saves around 350ms per DNG save on the SX30, slightly less on the G12.

The Raw Cache menu option controls whether the memory buffer address is in cached or uncached memory by setting or unsetting the CAM_UNCACHED_BIT. This doesn't allocate any cache memory for RAW/DNG saving.

Regards,
Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline reyalp

  • ******
  • 14080
Re: Raw Cache Vs double raw buffer
« Reply #2 on: 19 / March / 2011, 19:25:51 »
In RAW menu, we can activate Raw Cache, which is supposed to be faster.

My question is:
"Could we desactivate Raw Cache and use that cache to reverse byte order for DNG, without dereversing byte order ?"
The cache mentioned here is the CPU data cache. Enabling it also enables CPU write buffer. There's no way you can write from CPU cache directly to DNG ;)

You might think that CPU cache would be pointless for the reversing operation, since the data is much larger than the cache and only traversed once, but in fact it helps a great deal.
Don't forget what the H stands for.

Re: Raw Cache Vs double raw buffer
« Reply #3 on: 20 / March / 2011, 06:50:58 »
On Ixus 1000 HS i see no diffrence in write speed time, so i switch cache to off, hope that non used cache give me 0.0001% longer battery life ;-)
Ixus 1000 HS


*

Offline reyalp

  • ******
  • 14080
Re: Raw Cache Vs double raw buffer
« Reply #4 on: 20 / March / 2011, 15:30:28 »
On Ixus 1000 HS i see no diffrence in write speed time, so i switch cache to off, hope that non used cache give me 0.0001% longer battery life ;-)
If DNG doesn't see a speedup, it's likely there is something wrong with your port. Does not affect CHDK raw.
Don't forget what the H stands for.

*

Offline Lebeau

  • ***
  • 187
Re: Raw Cache Vs double raw buffer
« Reply #5 on: 21 / March / 2011, 09:24:34 »
Ok ! Therefore, we are talking about CPU cache only, used in read/write pipelining, not a user-usable memory space.
Thanks

Re: Raw Cache Vs double raw buffer
« Reply #6 on: 21 / March / 2011, 12:49:52 »
On Ixus 1000 HS i see no diffrence in write speed time, so i switch cache to off, hope that non used cache give me 0.0001% longer battery life ;-)
If DNG doesn't see a speedup, it's likely there is something wrong with your port. Does not affect CHDK raw.

I use always DNG and alternate Buffer.
How much speedup should see ?.values vary by 0.1 sec mostly, but sometimes more

I have savetime with 21 mB/sec write Card of 1.1 sec
with 12 MB/sec write card 1.7 sec
and with 7 MB/sec write card 2.6 sec. RAW is 15 megabyte
Ixus 1000 HS

 

Related Topics