Last Updated on
Tags: Output, Context
Canvas node is a principal Screenberry node that creates an OpenGL context window for a main server video output. It serves as a canvas on which all Screenberry image output elements such as displays and patches are composed.
When the Canvas node is added in the Node Graph the corresponding widget becomes accessible that allows to edit Displays and Patches associated with this canvas. The widget can be added to the workspace by selecting Window > <Canvas Name> from the main Screenberry Panel menu.
Multiple Canvas nodes can be created, but only one can be enabled for the server video output at a time. Each added Canvas node has its own corresponding widget.
For more information on editing displays and patches see the Display Editor and Patch Editor sections of this user guide.
Any image source node can be connected to the Canvas node directly. In this case, it will serve as the canvas Background Image and will be fit to the size of the canvas automatically.
The Settings panel of the Canvas node offers the following control and information parameters:
|Image Size||Sets the width and height of the output window in pixels.|
|Position||Sets the position of the top-left corner of the output window relative to the top-left corner of the GPU device(s) output.|
|Fullscreen||Maximizes the output window to the size of the current output device screen.|
|Window Frame||Adds window interface elements, such as the borders, title bar and close button to the output window.|
|Disable Windows Explorer||Disables all Windows user interface elements such as the taskbar and other desktop items.|
|Quad-buffered Stereo||Enables frame sequential 120 FPS stereoscopic video output on Quadro graphics cards. VSync Interval should be set to 2 for 60 FPS content and 4 for 30 FPS content.|
|VSync||Enables vertical synchronization in the OpenGL context.|
|VSync Interval||Sets vertical synchronization interval for the OpenGL context.|
|Multisample Anti-Aliasing (MSAA)||Improves the appearance of rendered patch edges (makes them smoother). This anti-aliasing option only affects patches that are rendered directly to the Canvas or Displays.|
|Always on Top||Specifies that the output window should be always above other interface windows.|
|Raise Window||Brings the output window above other interface windows.|
|OpenGL Version||Specifies the software version of OpenGL. This parameter is set to Auto by default to automatically discover a current OpenGL software version|
|Renderer||Provides information about the graphics card in use.|
|Current OpenGL Version||Provides information about the current software version of OpenGL.|
|Displays||Provides information about the number of Display nodes connected to the Canvas node.|
|Patches||Provides information about the number of Patch nodes connected to the Canvas node.|
|Background Image||Provides information about the image source connected to the Canvas node as a background image.|
|Warm Up Frames||Sets the number of extra frames to play before measuring the OpenGL context frame rate.|
|Measuring Time||Sets the time interval for measuring the OpenGL context frame rate.|
|System Frame Rate||Provides information about the current system frame rate.|
|Actual Frame Rate||Provides information about the actual OpenGL context frame rate.|
|Target Frame Rate||Provides information about the set target frame rate.|
|VSync Status||Indicates whether vertical synchronization is enabled for the OpenGL context.|
|Log Frame Drops||Defines threshold value as frameTime*LagMultiplier for FrameProfiler to output a LAG message.|
|Log Frame Stats||Specifies that frame statistics should be logged.|
|Frame Stats Interval||Sets the interval for frame statistics logging.|
|Force glFinish() Use||Specifies that glFinish() should be used.|
|Using glFinish()||Displays that glFinish() is used.|
|Async Transfer Threads||Defines the number of asynchronous OpenGL context threads for texture transfers. For this parameter to take effect, the Async Short or Async Long options for the Texture Upload mode should be selected in the node sending a video stream to the Canvas, e.g. the MediaPlayer, DeckLinkInput, DeltacastCapture, Vision, or NDIIn. In most cases, 1 or 2 threads should be sufficient. For the new Nvidia RTX cards that have 7 async copy engines the use of more threads might improve performance.|
|Additional Buffers for Upload||Sets the number of additional OpenGL buffer objects.|