Kanzi 3.3 release notes

New features

These features are new in Kanzi 3.3:

  • Data sources

    Use data sources to separate the user interface from the application data and to remove the dependencies between a Kanzi Studio project and the application code which define the Kanzi application.

    Kanzi allows you to define the format and structure of your data source by defining a Kanzi Engine data source plugin.

    See Tutorial: Get application data from a data source and Data sources.

  • Multisampling

    Use multisampling (MSAA) to reduce aliasing in selected parts of your Kanzi application. When you use multisampling, Kanzi does not always store the full resolution of the image in the memory. This means that multisampling requires as little as one quarter of the memory bandwidth as supersampling does.

    See Using multisampling.

Feature improvements

  • Performance improvements including:

    • Optimized application loading time.

    • Optimized memory allocation strategy in the message subsystem.

    • Optimized the layout performance of Text Block nodes.

  • You can now use in your Kanzi Studio projects custom actions and triggers you define in a Kanzi Engine plugin.

  • In the Preview Analyze mode the mo now shows the amount of time in milliseconds it took to render a frame. Use this information to identify performance bottlenecks in your Kanzi application. For example, you can use it to find out how to improve the performance of your application by distributing rendering across several frames. See Analyzing your application in the Preview and Distributing rendering across several frames.

  • You can now set a render pass to render to a specific mipmap level. This enables you to use only one texture and get different mipmap levels from different render passes. This enables you to create post-processing effects such as bloom much faster and easier. See Using mipmaps.

  • You can now use binary shaders. See Using binary shaders.

  • You can now use memory mapped loading to reduce the loading times of your Kanzi application.

  • You can set the height and width of glyph cache textures to adjust the size of the glyph cache texture either when it gets full, or to optimize the performance of your Kanzi application. See Glyph cache texture size.

  • You can now apply changes to state transitions in the State Transition Editor without closing the State Transition Editor.

  • Improved the performance of animations for transformations.

  • Kanzi now supports floating licenses. See Using a floating license.

API changes

See Kanzi 3.3 migration guide.

Documentation

Fixes in Kanzi Studio

  • Fixed several memory leaks in image processing.

  • You can now use half-float vertex attribute when running Kanzi Studio in Parallels on a Mac.

  • Fixed the issue that deleted the .psd file when canceling the importing of the file.

  • Fixed the issue that caused a crash when changing a custom property type used in a Set Property action.

  • Fixed the issue that caused a crash when navigating in the Assets window.

  • Fixed several issues related to merging and importing projects with a Kanzi Engine plug-in.

  • Kanzi Studio no longer crashes when merging a project while there is a name clash in the shaders.

  • Kanzi Studio no longer crashes when using PVRTC texture compression on images.

  • Kanzi Studio no longer crashes when releasing the license while a project with unsaved changes is open.

  • You can now use compressed images with mipmaps without losing their compression settings.

  • You can now use the Entered State trigger.

  • Fixed several issues to improve the use of state managers.

  • Undoing the deletion of bindings now restores the bindings correctly.

Fixes in Kanzi Engine

  • Fixed the issue which caused the CPU memory not to be freed for GPU-only textures.

  • Fixed the ResourceManager::purge() function.

  • Fixes to Text Block node layout not updating.

  • Fixed the Look At property.

  • Fixed the state transition animation glitch for the Layout Transformation.

  • Fixed the issue which caused the state manager custom transition animation not acting the same when migrated from projects created in earlier versions of Kanzi.

  • Fixed the issue which caused the custom brush to not work with Nine Patch Image node.

  • Fixed the reporting of the GPU resources memory consumption.

  • Fixed the issue which caused the On Preloading of Resources Completed trigger to crash the KZB Player.

  • Fixed the issue which prevented the Preload Resources message from any other node than the Screen node.

  • Fixed the issue which prevented the setting off the On Preloading of Resources Completed trigger unless they are delayed.

  • Fixed the issue which prevented the KZS_EVENT_TOUCH to work on Linux when Num Lock or Caps Lock is enabled.

  • Fixed the issues in the ResourceManager.setDefaultMemoryStrategy(OptimizeMemory).

  • Fixed the issue which caused the On Attached state to be called only once.

  • Fixed the issue which required restarting of the Preview to get the Double-Click Enabled property to work.

  • Fixed the issue which prevented the Hold Interval to not work for Button 3D node.

  • Fixed the issue which created closed spline trajectory from opened spline trajectories.

  • Reduced the number of GL calls.

  • Fixed the PropertyFieldAnimationTimeline class.

  • Fixed the access violation when calling GridListBox2D::getItemCount().

  • Fixed bugs related to Preview crashes after computer wakes up.

  • Fixed the issue which at startup deactivated the child Page nodes of the RootPage node.

  • Fixed the issue which prevented the Navigation Started message to be sent.

  • Fixed the issue which ignored the immediate setting in the Go to State action.

  • Fixed the issue which incorrectly showed Page nodes when enabling the Host Other Pages property and navigating to Page nodes using the Kanzi Engine API.

  • Fix several state manager bugs.

  • Fixed the issue which mixed up the states with the same name in different state groups in the same state manager.

  • Fixed the issue which caused the state manager to crash when the state manager modifies the Locale property.

  • Fixed several bugs that affected the Text Block node when used in a Stack Layout node.

  • Fixed the issue which caused using of the ETC2 format even when you selected the ETC1 format.

  • You can now again use PVRTC2 compression scheme.