Coder Social home page Coder Social logo

Comments (1)

Yona-Appletree avatar Yona-Appletree commented on August 20, 2024

Mattias,

Let's consider interpolation and dithering separately, and I do
apologize if I'm telling you things you already know (or if I'm making
any factual errors or false assumptions).

Interpolation happens first and handles cases where the incoming
framerate is low, but the outgoing framerate is high. This can be useful
to save resources on the effect generation side. In your case, the
difference between input framerate (240) and output (300) is low, so I
would agree and say you don't need interpolation. You might consider
using it though, if your visualization generation uses more CPU than
LEDscape does to do interpolation.

Dithering handles the fact that WS2811-based LEDs have a linear
brightness response but human perception is more logarithmic. The
perceived brightness delta between brightness levels 0, 1, 2, etc... is
much greater than the difference between 250, 251, 252. Inspired by
FadeCandy, dithering will improve the perceived brightness shift by
"flickering" the LED levels over time so they average to a value between
the levels that the hardware supports. Generally, I would say that
dithering helps at any framerate above 200fps, but I would experiment
with it to see. You'll see the most improvement when the brightness
levels are low...you can try dimming your pattern generation down to 10%
or so.

Let me know what you find out, and we can update the README and close
this ticket.

Thanks,

Yona

MFornander mailto:[email protected]
July 28, 2014 at 14:23

Yona,

Apologies if I am abusing the "Issues" as a forum. I'm wondering if
your would recommend leaving dithering on or off in the following
scenario:

We produce and consume OPC frames on the same BBB and simply loop back
the UDP messages on localhost. This allows us to use the OGL OPC
simulator to test patterns for people without hardware. Since our
strands are 100LEDs we have a max rate of 300fps. We are close to this
with a rate of around 240FPS both producing OPC frames and consuming
them using opc-server.

I'm turning dithering and interpolation off at these rates since our
effects are time-driven functions that are driven by delta-T, not
frame index. At these rates I think it's the right thing do do but I'd
like your opinion in the matter.

Cheers,
Mattias


Reply to this email directly or view it on GitHub
#11.

Yona Appletree
Senior Developer
Concentric Sky, inc
[email protected]

from ledscape.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.