Giter VIP home page Giter VIP logo

Comments (5)

gdkrmr avatar gdkrmr commented on August 19, 2024

Handle SIGUSR1 for full refresh and SIGUSR2 for a short deep sleep?

from papertty.

chi-lambda avatar chi-lambda commented on August 19, 2024

My 6" display doesn't seem to have that problem. Might be a common feature of IT8951 displays, thanks to the additional controller.

@math85360 @jeLee6gi @C-Rothnie, what is your experience?

from papertty.

joukos avatar joukos commented on August 19, 2024

Handle SIGUSR1 for full refresh and SIGUSR2 for a short deep sleep?

I think I would put the display to sleep automatically after N updates with no image changes, if only it's feasible to do so (ie. no unreasonable overhead or other issues). N could even be quite low, or a particular elapsed time. The signals can be left for manual overrides, but I'm not yet decided on what those should be.

I'm thinking that perhaps there should be a --powersave option (on by default) that does at least two things:

  1. Puts the display to sleep when nothing is happening
  2. Automatically adjusts the sleep interval to something larger (up to a certain maximum for example)

This would keep the display mostly asleep if the updates happen irregularly and also keep the CPU usage down in those cases by making PaperTTY itself slow its pace. When the image updates again, it would go back to regular refresh rates (or perhaps there could be a slowly adaptive method for this).

To do this nicely we might need to have some configurable values such as the minimum and maximum update intervals.

So, maybe in the future we could have --powersave with perhaps settings like:

  • off - no powersaving, static and minimum update interval (basically the way it works currently).
  • on - enable panel sleep after a while (N frames or reasonable wall clock time of nothing happening?) and increase the interval a reasonable amount (say, from 0.1 seconds to at least 1 second). When something happens, panel is woken up and the interval is immediately set back to minimum.
  • adaptive- enable panel sleeping and adjust update interval automatically, this could start from the fastest update we want to have and then gradually adjust it slower depending how often actual updates occur (ie. change in the image). For example a calendar application doesn't need to update but once an hour perhaps in some cases, but since the loop isn't too costly maybe the max interval can be set to some minutes. If suddenly there's a flurry of activity, the interval could be shortened gradually. The algorithm to do this should probably be kept pretty simple to understand.
  • something else?

I've been meaning to tackle the config file issue at some point, perhaps as "profiles" in YAML format (so one can do ./papertty.py -f cottage_vnc.yaml etc.), and with all these new configuration options it's going to be needed soon...

Dunno, how does this sound?

from papertty.

lvan188 avatar lvan188 commented on August 19, 2024

Can you post a tutorial video

from papertty.

joukos avatar joukos commented on August 19, 2024

Can you post a tutorial video

Please create a new issue about this if you feel it's needed (requesting it in an unrelated issue is confusing) - the documentation has mostly been rewritten already, but as usual, I've been too busy with other things to finish it.

from papertty.

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.