Kanzi 3.6.7 release notes

Feature improvements

  • You can now use Android Studio and the Gradle build system to build and deploy Kanzi applications with the Android platform package. See Deploying Kanzi applications to Android.

  • Improved the performance profiling system:

    • Added several startup and main loop performance profiling categories. See Measuring the performance of Kanzi Engine.

    • Added ApplicationProperties::mainLoopProfilingSampleBufferCount. You can use it to set the number of data samples in main loop profilers. See MainLoopProfilingSampleBufferCount.

    • Added resource profiling context attribute ResourceProfilingContext::Duration. You can use it to measure the time it takes to load and deploy a resource, including the resources that the resource depends on. See Measuring the loading and deployment time of resources.

    • Added callbacks for each profiler. Kanzi calls these callbacks when the addition of a profiling sample results in a full buffer.

  • Added to the ResourceManager functions that enable you to retrieve handles of loader threads, so that application code can adjust its settings. Resource manager creates all its loader threads during application startup and does not add or delete loader threads during the rest of application runtime, except during shutdown. See ResourceManager::getLoaderThreadHandle and ResourceManager::getLoaderThreadCount.

  • Added ResourceManager::getAllLoadedResources. You can use it to list all resources in a Kanzi application.

  • Added kanzi::beginPropertyTypes and kanzi::endPropertyTypes. You can use them to list all properties that are registered in a Kanzi application.

  • You can now configure anti-aliasing for the Kanzi Studio Preview. See Setting anti-aliasing in the Preview and Application Player.

  • Added the Hover property (Node::HoverProperty). Kanzi updates the Hover property for hit testable nodes and their parent nodes to indicate whether a node is the foremost node under the pointer.

  • Added to Kanzi Studio the state manager triggers Transition Started and Transition Finished, which enable you to react when a state transition starts and ends.

  • Improved GraphicsFormat:

    • Added several graphics formats.

    • Added these graphics format helper functions:

      • kanzi::findGraphicsFormatByName

      • kanzi::getBitCount

      • kanzi::getBitsPerBlock

      • kanzi::getChannelCount

      • kanzi::hasAliasedChannel

      • kanzi::isValid

Changes

  • Added support for Android x86_64.

  • Updated FBX SDK to version 2019.2.

  • Updated the Monotype iType library to version 5.3.3 and WorldType Shaper to version 4.3.0.

Documentation

  • Improved the tutorial that helps you learn how to get the data for your Kanzi application from a data source to use the TaskDispatcher and a worker thread to track changes in the data source. See Tutorial: Get application data from a data source.

    ../../_images/end-of-step-3.png
  • Added instructions on how you can use the Kanzi logging system to print messages to the Log window, the Kanzi debug console, standard output, and the system log on your target device. See Logging.

  • Added reference documentation for the Kanzi Android application framework. See Kanzi Android application framework API reference.

Fixes

ID

Description

Area

10135

Kanzi application no longer goes into deadlock when an application submits too many tasks to the task dispatcher.

Kanzi Engine

10051

On Android when you restore your Kanzi application after sending it to the background, render target textures with automatic size are now correct.

Kanzi Engine

10005

Kanzi no longer asserts at application exit when a Text Block 3D node is the child of another Text Block 3D node, which causes material uniform to be resolved from the wrong material.

Kanzi Engine

9936

Runtime native window size is now initialized also when platform initialization is not done.

Kanzi Engine

9917

The task dispatcher now executes all pending tasks before application exit.

Kanzi Engine

9891

Fixed the issue where a render target, when used with bilinear filtering, leaked artifacts to another render target when the framebuffer object was recycled and the original render target was scaled down and rotated.

Kanzi Engine

9806

Kanzi now shows horizontal margins correctly for a 2D node whose Horizontal Alignment property is set to Right.

Kanzi Engine

9680

When you uninitialize a Kanzi application, Kanzi now resets the performance profiling categories their initial state.

Kanzi Engine

9658

FPSConstraints now allows limiting frame rate also on DLL builds.

Kanzi Engine

Fixed several issues found by Clang Static Analyzer.

Kanzi Engine

Fixed issues in graphics format helper functions:

  • hasAlpha(GraphicsFormatALPHA8_UNORM) now returns true.

  • isPacked(GraphicsDataTypeUNORM24_UINT8) now returns true.

  • getByteCount(GraphicsDataTypeUNORM24_UINT8) now returns 4.

Kanzi Engine

Kanzi now uses slots for tracking touch events on Linux event device.

Kanzi Engine

10189

Fixed the issue that caused Kanzi Studio to create incorrect images when compressing multiple ASTC images in parallel at kzb export.

Kanzi Studio

9995, 9847, 9585

Fixed issues related to Kanzi Studio project references:

  • Kanzi Studio now successfully loads a solution that contains a project reference with an empty project path.

  • Kanzi Studio no longer terminates when adding a template binding to a prefab in a referenced project.

  • When you create a project reference to an existing kzb file, Kanzi Studio now adds the name of that kzb file to the kzb.cfg file of the referencing project.

Kanzi Studio

9511

The Mix binding function now allows as its parameter an equation that contains a variable.

Kanzi Studio

9414

In Kanzi Studio using the Save To State context menu command for the Render Transformation property of a 3D node no longer turns the property editor into an empty matrix editor.

Kanzi Studio

9404

When Kanzi Studio exports a kzb file, it no longer generates mipmaps for those images that are not exported to the kzb file.

Kanzi Studio

Kanzi Studio now successfully imports FBX files that have no vertex weights for bone deformed mesh.

Kanzi Studio

Kanzi Studio now correctly generates normals for meshes that do not contain any triangles.

Kanzi Studio

Improved Kanzi Studio stability.

Kanzi Studio

See also

Known issues