Draft Developer Notes
TV mode is a special mode for FB4 streaming and calculation. But let’s talk about how the output is usually formed. Usually, each laser frame has its own number of points. Content creators tend to minimize the number of points to decrease the flicker. That is why in animations the number of points per frame changes a lot. The other aspect is sample rate. We all know about 30K standard (30K scanners), 40K, 60K, etc. The number defines how many points per second laser controller output. Of course, if you have higher speed scanners, you may want to output on higher sample rater. However, there is another aspect – scan angle. Scanner can perform on certain speed at some angle. Bigger angle, lower sample rate, otherwise you see imperfections on test patterns. What do we have at the end? We have variable number of points per frame, and even if we display same frame, the base sample rate may be different because your projector covers exact area, with exact angle, and you may adjust sample rate based on exact setup of this projector today.
How is impact FPS? FPS is Frames per second. It calculated as – sample rate of projector divided by number of points in frame. As example, 30`000 / 500 points give us 60 FPS. Take into account that number of points in frame may change (keep in mind vector settings, clippings, etc, all of these things change number of points). So the FPS always changes. And this is not a primary parameter, this is result of point number and sample rate.
When laser projection recorded, it quite often flickers. On of the possible reasons – frame rate of projector does not match the frame rate of laser projector. Of course, it will not, because normally FPS is variable thing. How can we solve the problem? We need to have a special mode where you tell FPS value you want, and software will do the “magic” for you. Skip jokes, let’s see what can be changed – FPS is constant, sample rate – better do not touch, its setup for exact place. The only thing is the number of points (in fact, the talk about time, how much time we have to display the frame). Now it makes sense to start from the other side. As example, we have 30K output, and we want 50 FPS. It means, we want 600 points. If the number of points per frame is less than 600 then all is easy, we just leave empty space (no output for some time). However, the problem will show up if we have more points than we can afford. Can we remove the points? No, it will be visible, a part of the frame will be lost. So, there are 2 ways – send more points than can be displayed, and FB4 will skip some of frames. And the second approach is much more correct – give two cycles (two FPS), to display the frame fully. As example, if we have 1000 points in frame, and can display only 600, then FB4 will output 600 in first cycle, and 400 in second (with wait time for 200 points). The first approach is called “3.0” because it was created in BEYOND version 3.0, and it was the initial design. In BEYOND version 4.0 we added a second approach, where software adds more time to display the frame fully and avoid overload of FB4. The surprising part for us – some users prefer 3.0 model. Main thing to keep in mind is that both work equal if number of points is less than allowed by FPS. The difference between is how the process handled in case of overload. Another aspect of TV mode is how the calculation core works. With fixed FPS we know what we expect – the display must be synchronized, and core does calculation for exact FPS. In the classic model the output calculated for each projector personally, and number of calculations equal to sum of FPS of all projectors. It may lead to 100s of 1000s calculations per second. In the case of TV mode, we set 30, 40, 60 FPS. This is much less than 1000s. The decreased CPU load is not a priority, this is more like a side effect of the model. Similar effect has Distributed scanning technology. Projectors share the calculation, and it in fact it decreases the total number of calculations.
In context of network load – 3.0 mode may load network and CPU more than classic output mode. In the case of 4.0 version the load is equal or lower.
How to start with TV Mode. Use Master tab, TV mode panel, set desired FPS. I recommend to start from low value such as 5 FPS. Lasers will “flicker”, but we know that FPS is low, this is normal. Good test – you can ensure that all lasers flicker in sync. After that you can increase FPS. What you should keep in mind is number of points in your content. Yes, your content is a critical part of the equation. In perfect case, the total number of points should be less than the maximum number of points for specified FPS. In number exceed the limit, then now you know what to expect – 3.0 version will do overload, 4.0 will underload which will look like more flicker. However, it still the balance between your content and FPS you want.
Frequently asked question – is it really synchronized to Camera frame rate? Of course not. There is no hardware for that, and you do not have a cable between your camera and BEYOND. In fact, to make it 100% right, then there should be sync connectivity between the camera and all controllers. BEYOND offers zero cost solution, just fix FPS and see how it looks on camera.
We also provide the ability to shift start time back or forth on a few milliseconds, which helps to catch the start time if you need too.
In context of FB4 Data Transmission monitor - color indicators in status bar (pink, green text) indicate delay or overload of communication buffer. In the case of classic output mode, usually it is caused by network traffic. The TV mode is a whole different story – there might be underload, same as some overload. A final remark, sometimes I mention that TV mode may help in case of network overload. Yes, it can, not so much as Performance Tunings of BEYOND, but sometimes you can use it as a trick (if you know how to use it). Another aspect is Also-To. When you do Also-To and want to sync the projectors – TV mode might help, because all projectors synchronized. Overall – consider TV mode as switch between fixed FPS and variable FPS output.