<p>Yeah, that makes sense. Most flat panel monitors on the market have a 60Hz refresh rate! So you are not going to be able to flicker faster than 60Hz due to technical limitation.</p>

<p>Were you to do this with a electron sweeping oscilloscope, or a LED lamp connected to a PWM source fast enough then no problem (you can find this in arduino samples). It would work. </p>

<p>You can also emulate the effect by rendering multiple frames and then blending them. But you should take careto do correct kind of blending as the monitor output is not nesseserily linear!</p>

CC BY-SA 3.0
2017-05-22T06:53:11.987Z
The Lumen application posted above suggests it can emulate >60hz frequencies by using either horizontal clock or pixel clock simulation.
PaulHK
CC BY-SA 3.0
2017-05-22T06:59:04.463Z
@PaulHK yes but then you need to average frames. Most systems have vertical sync  on by default. I mean i can sort of do this on my monitor since i have sync turned off but you couldn't depend on a web application to do this since it wouldnt work for 99% of users, and you have no control over the setting.
joojaa
CC BY-SA 3.0
2017-05-22T07:03:15.623Z
Could you not simulate the time difference from the top-left corner ? This is (roughly) how video game emulators handle raster effects for instance. For example, the middle scanline of the frame would be roughly +8ms from the top of the frame, assuming a 16.6ms frame.
PaulHK
CC BY-SA 3.0
2017-05-22T07:04:29.473Z
@PaulHK Not on the platform you use in a browser, the hardware does multi buffering and you can not escape the sync even if you wanted to, as far as i understand.
joojaa
CC BY-SA 3.0
2017-05-22T17:57:59.377Z
I guess the core of my question is what sort of calculations are being performed in order to emulate a video oscillation of >60hz? Since both Lumen and my browser are running on the same display with the same refresh rate, albeit one is a native app which might mean that it is doing things that are limited in the browser...
stackptr
CC BY-SA 3.0
2017-05-22T18:01:37.387Z
@Corey well the local program has more access to the system. In any case your question does not really specify that your asking about teh emulation. Your just asking why you have problems below 60Hz. But the real answer is to actually calculate the color as it would be. But its just horribly complicated to get it right. multi sample or integrate the result of your data end run it in color correct environment that should do the trick. Only a browser can not know the colorspace.
joojaa
CC BY-SA 3.0
2017-05-23T04:05:25.160Z
The Lumen application is showing results for one frame rather than integrating all possible phases, so we should expect some kind of rolling effect for each frame. Check the red gifs in the link under the 'Frequency ranges' heading.
PaulHK
CC BY-SA 3.0
2017-05-22T06:50:07.923Z
2017-05-22T07:10:26.917Z
2017-05-22T07:10:26.917Z
joojaa
<p>I want to make a basic video oscillator for the web. What I want to do is basically illustrated in a tutorial for <a href="http://lumen-app.com/guide/oscillators/" rel="nofollow noreferrer">Lumen</a>: essentially, I want to define an oscillator to turn on and off a color signal at a given frequency. This is simple to do for a frequency below 60hz, but anything higher does not seem to get the effect that the program is showing.</p>

<p>It seems likely to me that the tutorial is far more simplified than what is going on behind the scenes, and since I don't have background in graphics programming I don't really have the tools to even know what I need to know. I'd like to understand what is going on and if it is possible to produce such things for the web</p>

<rendering><webgl><javascript><animation>
Need help reasoning about video oscillation >60hz
stackptr
# Need help reasoning about video oscillation >60hz

(Asked by: username_0 on 2017-05-22)

I want to make a basic video oscillator for the web. What I want to do is basically illustrated in a tutorial for [Lumen](http://lumen-app.com/guide/oscillators/): essentially, I want to define an oscillator to turn on and off a color signal at a given frequency. This is simple to do for a frequency below 60hz, but anything higher does not seem to get the effect that the program is showing.

It seems likely to me that the tutorial is far more simplified than what is going on behind the scenes, and since I don't have background in graphics programming I don't really have the tools to even know what I need to know. I'd like to understand what is going on and if it is possible to produce such things for the web

**Tags:** rendering, webgl, javascript, animation


---

## 1 answers

### Answer by username_1 on 2017-05-22. Score: 3

Yeah, that makes sense. Most flat panel monitors on the market have a 60Hz refresh rate! So you are not going to be able to flicker faster than 60Hz due to technical limitation.

Were you to do this with a electron sweeping oscilloscope, or a LED lamp connected to a PWM source fast enough then no problem (you can find this in arduino samples). It would work.

You can also emulate the effect by rendering multiple frames and then blending them. But you should take careto do correct kind of blending as the monitor output is not nesseserily linear!

> **Comments:**
> **username_2**: The Lumen application posted above suggests it can emulate >60hz frequencies by using either horizontal clock or pixel clock simulation.  
> **username_1**: @username_2 yes but then you need to average frames. Most systems have vertical sync  on by default. I mean i can sort of do this on my monitor since i have sync turned off but you couldn't depend on a web application to do this since it wouldnt work for 99% of users, and you have no control over the setting.  
> **username_2**: Could you not simulate the time difference from the top-left corner ? This is (roughly) how video game emulators handle raster effects for instance. For example, the middle scanline of the frame would be roughly +8ms from the top of the frame, assuming a 16.6ms frame.  
> **username_1**: @username_2 Not on the platform you use in a browser, the hardware does multi buffering and you can not escape the sync even if you wanted to, as far as i understand.  
> **username_0**: I guess the core of my question is what sort of calculations are being performed in order to emulate a video oscillation of >60hz? Since both Lumen and my browser are running on the same display with the same refresh rate, albeit one is a native app which might mean that it is doing things that are limited in the browser...  
> **username_1**: @Corey well the local program has more access to the system. In any case your question does not really specify that your asking about teh emulation. Your just asking why you have problems below 60Hz. But the real answer is to actually calculate the color as it would be. But its just horribly complicated to get it right. multi sample or integrate the result of your data end run it in color correct environment that should do the trick. Only a browser can not know the colorspace.  
> **username_2**: The Lumen application is showing results for one frame rather than integrating all possible phases, so we should expect some kind of rolling effect for each frame. Check the red gifs in the link under the 'Frequency ranges' heading.  

---

