Pixotope Engine vs Unreal Engine
Although the Pixotope Engine is based on the Unreal Engine, they are not the same. We are not only changing the visual look of the interface, but also heavily modifying the rendering pipeline. Our aim for the Engine is to work with video inputs and outputs and to produce the desired compositing effects. We are trying to keep the scene design experience similar to the one in Unreal (so that artists familiar with Unreal will have no problem working in Pixotope Engine) while simultaneously making it easy to use in a virtual production environment.
Performance
Because we are adding unique features to our engine it means that there is some overhead compared to Unreal. As a result comparing those two is not straight-forward. Here are some of the things that may contribute to observable differences between Unreal and Pixotope:
PostProcessHandler - Pixotope Engine has some essential actors that will be present in all persistent levels. One of those is
PostProcessHandler
which is an unboundPostProcessVolume
. However because that class is unique to Pixotope it will not load in Unreal, in case someone tries to open a Pixotope project with it. Any settings set onPostProcessHandler
won't apply in Unreal and this will make it seem that Unreal is much more performant. Manually apply your settings from Pixotope’sPostProcessHandler
to Unreal’sPostProcessVolume
to have a more comparable scenario.TrackedCamera - Another essential actor present in Pixotope is
TrackedCamera
. This camera will be used as default view point when playing the level. By default, when no tracking is present, this camera has quite a wide FOV, which means it sees a bigger part of the scene than default cameras in Unreal. When comparing scenes between Pixotope and Unreal make sure that similar camera settings are used.Screen Percentage - Since the introduction of TSR (Temporal Super Resolution) in Unreal Engine 5, Epic now decided that it is good enough so the Unreal Engine, by default, will render in lower resolution. Currently (Unreal 5.3), the default Screen Percentage in Unreal Engine is set to 72%. In Pixotope however, we are rendering with Screen Percentage set to 100% as it produces better visual effects. This of course comes with a performance cost. If needed, this can easily be adjusted in Director.
Custom depth - For correct compositing, Pixotope uses custom depth. This is used to differentiate different object types. By default all components will use custom depth which will lower the overall performance. If necessary custom depth can be disabled for actors that are not interacting with compositing planes. It is also possible to disable custom depth for all components using project setting
UseCustomDepthByDefault
. In that case it will be necessary to set custom depth for any actors interacting with compositing planes.Preview Live vs LIVE - It is worth noting, that all render performance comparisons between the Unreal and the Pixotope Engine should be done in LIVE mode. The Pixotope Editor default layout shows more than the one in Unreal. As the Editor interface is quite heavy, it can influence render timings.
Additional render passes - To achieve the best compositing result we are also adding additional render passes in translucency, light/shadows, reflections and post processing. These should be negligible compared to the overall rendering, but might still be worth mentioning.