CE.SDK runs entirely on clients and makes use of hardware acceleration provided within that environment. Therefore, the user’s hardware always acts as an upper bound of what’s achievable.
The editor’s performance scales with scene complexity. We generally found scenes with up to 200 blocks well usable, but complex blocks like auto-sizing text or high-resolution image fills may affect performance negatively. This is always constrained by the processing power available on the user’s device, so for low-end devices, the experience may suffer earlier. Therefore, it’s generally desirable to keep scenes only as complex as needed.
Hardware Limitations#
Each device has a limited amount of high performance hardware decoders and encoders. If the maximum number is reached it will fall back to (slow) software de- and encoding. Therefore users may encounter slow export performance when trying to export in parallel with other software that utilizes encoders and decoders, e.g. Zoom, Teams or video content in other tabs / apps. This, unfortunately, is a limitation of hardware, operating system and browser and cannot be solved.
Recommended Hardware#
| Platform | Hardware |
|---|---|
| Desktop | A notebook or desktop released in the last 7 years and at least 4GB of memory. |
| Mobile (Apple) | iPhone 8, iPad (6th gen) or newer |
| Mobile (Android) | Phones & tablets released in the last 4 years |
Video#
Our video feature introduces additional requirements and we generally distinguish playback (decoding) and export (encoding) capabilities. On the web, certain browser features directly depend on the host operating system. For video, this currently introduces the following limitations:
- Transparency in H.265 videos is not supported on Windows hosts.
- Chrome on Linux generally doesn’t ship with encoder support for H.264 & AAC, which can cause video exports to fail even though decoding of non-free codecs is supported.
- Firefox supports video editing (decoding) starting with version 130 via the WebCodecs API. However, video export is not supported because Firefox does not include the patent-encumbered H.264 and AAC codecs required for encoding.
- Chromium although technically the base of Chrome doesn’t include any codecs for licensing reasons and therefore can’t be used for video editing. It does fall back to system-provided media libraries on e.g. macOS, but support is not guaranteed in any way.
- Linux browsers generally have limited video support due to codec licensing. Video editing may work if the browser can decode H.264/AAC, but video export typically fails because open-source browser builds do not include the required encoders.
- Video is not supported on mobile browsers on any platform due to technical limitations which result in performance issues.
To detect these limitations at runtime, use the video.decode.checkSupport and video.encode.checkSupport actions, or the cesdk.utils.supportsVideoDecode() and cesdk.utils.supportsVideoEncode() utilities.
Export Limitations#
The export size is limited by the hardware capabilities of the device, e.g., due to the maximum texture size that can be allocated. The maximum possible export size can be queried via API, see export guide.