» RAW performance speedup
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

RAW performance speedup

Good news for those of you who often work with nodes in the RAW category. The general performance overhead has been reduced by quite a bit in the latest alpha version of vvvv. The respective commit can be found here.

This was achieved by an internal change to work with the IStream interface directly, instead of wrapping it in adapter classes, exposing it either as System.IO.Stream to .NET or TStream to Delphi. So a downstream plugin node will now have direct access to the upstream stream output, instead of going through an internal adapter class.

In case you write your own plugins and you want to keep the overhead as small as possible create your own custom Stream class, which implements the before mentioned IStream interface - for example have a look at the ComStream.*.cs files here and nodes making use of it here.

Thanks to woei and jens.a.e for reporting the performance issues and keeping on nagging me about it ;)

Elias, Tuesday, May 10th 2016 Digg | Tweet | Delicious 9 comments  
microdee 10/05/2016 - 14:05

fuckyeah!

tonfilm 10/05/2016 - 15:55

of course we like it raw!

microdee 10/05/2016 - 16:07

it might have to do something with these changes: in here:

title

AsValue freaking out like this:

System.OverflowException: Array dimensions exceeded supported range.
   at System.IO.ComAdapterStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.TakeStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.BinaryReader.ReadBytes(Int32 count)
   at VVVV.Nodes.Raw.AsValueNode.ConvertAllAtOnce(Stream srcStream, MemoryIOStream`1 dstStream, Double[] buffer, ValueTypeFormat format, ByteOrder byteOrder)
   at VVVV.Nodes.Raw.AsValueNode.Evaluate(Int32 spreadMax)
   at VVVV.Hosting.IO.PluginContainer.Evaluate(Int32 spreadMax)

But if I take out Take (note the pun) all fine.
Update: Any Raw sink node freaks out after Take in this situation
Update2: Problem occurs when raw stream coming from AsRaw (String) but AsRaw (Value) is fine

velcrome 10/05/2016 - 17:27

nice. will test

microdee 12/05/2016 - 22:17

also + (Raw Spectral) doesn't like the changes:

System.ObjectDisposedException: Cannot access a closed Stream.
   at System.IO.__Error.StreamIsClosed()
   at System.IO.MemoryStream.get_Length()
   at VVVV.Nodes.Raw.PlusSpectralNode.Evaluate(Int32 spreadMax)
   at VVVV.Hosting.IO.PluginContainer.Evaluate(Int32 spreadMax)
Elias 14/05/2016 - 20:31

Thx for the report. Will have a look at it mid next week.

velcrome 16/05/2016 - 01:05

CAR was bugging too.

Elias 18/05/2016 - 19:35

@microdee @velcrome Does it work for you now (950187a459)?

microdee 21/05/2016 - 20:04

seems to be in order now, that gibberish about alt+3 was just my sinister sneaky keyboard configuration

  • 1

anonymous user login

Shoutbox

~15h ago

CeeYaa: https://www.youtube.com/watch?v=OkzfYQCLrCE thanks for the insights, impressive stuff @mediadog yes, it is a very nice CAVE

~1d ago

mediadog: @CeeYaa Why I'm learning Unreal, now if I could just afford wrap-around LED walls! Can do in vvvv too, it's just a CAVE

~2d ago

kleinkariert: @tonfilm any hint on how to generate Mel-Frequency images out of audio for mel-GAN in v4

~2d ago

joreg: @mediadog we're aware of this, see: https://discourse.vvvv.org/t/visual-c-2008-this-download-is-no-longer-available/17895 and i now also fixed the resp. links on the download page.

~2d ago

mediadog: FYI VC redist 2008 links bad in 38.1 installer and on web page

~3d ago

joreg: Reminder: Intro workshop to the all-new vvvv this Tuesday before the #vvvv meetup in #berlin. Signup here: https://nodeforum.org/announcements/2020-series-of-2h-introduction-workshops-to-vvvv-gamma/

~3d ago

~4d ago

tonfilm: Creative coder wanted: https://discourse.vvvv.org/t/creativvvve-coder-in-residence-2020/18283 vvvv visualprogramming #creativecoding #xenko #dotnet #berlin #internship #residency

~5d ago

metrowave: Collection of replicable research: http://www.replicabilitystamp.org/