Release Notes


Nsight Tegra, Visual Studio Edition, version 3.1

New Features: 

Fixed Issues: 

Other Changes

Fast Deploy

Nsight Tegra Fast Deploy mechanism allows faster development by only updating native libraries on the device and not rebuilding the APK when nothing except the native code has changed. Nsight Tegra now modifies built APKs to enable Fast Deploy on the device side, which allows using Fast Deploy with APKs built with other build systems. APK hashing speed in Fast deploy mode has been greatly improved compared to earlier versions of Nsight Tegra.

To set up Fast Deploy properly, add folders with built native libraries (preferably stripped) to the Deployment > Library Override Folders project property. If some of the libraries never change during the development process, it’s possible to make Fast Deploy ignore them by adding their names (including the lib prefix and extension) to the Deployment > Libraries to Ignore project property.

Fast Deploy mechanism looks for the libraries in the Deployment > Library Override Folders and in the subfolders that have names based on the architecture of the device selected for debugging. This makes it possible to specify Ant or Gradle build’s native library root folder (that contains architecture-based subfolders) as Fast Deploy library override folder, and the libraries from the correct subfolder will be used during the deployment step. Nsight Tegra automatically supplies that folder for projects built with Nsight Tegra build systems (both MSBuild and ndk-build based). When searching for library named libLibrary.so, Fast Deploy also accepts and prefers file named stripped_libLibrary.so if it finds it.

Fast Deploy doesn’t currently work for 64-bit apps, but works for both x86 and ARM apps, even when run on a 64-bit device. Deployment > Fast Deploy is Default by default, which in this version of Nsight Tegra means No for External Build System projects and Yes for all the other ones. However, it is possible to manually configure External Build System projects to work with Fast Deploy.

Known Issues: 

Java Out of Memory

On some systems, ANT will report a memory error when building inside of Visual Studio. You may encounter the following error: 

Could not create the Java virtual machine.
Error occurred during initialization of VM
Could not reserve enough space for object heap

In this case, try restarting your web browser; it has been known to help in some cases.

Other Known Issues: 

FAQ: Correcting a broken Ant build 

Recent releases of Nsight Tegra have made the following changes: 

Nsight Tegra has its own proprietary build.xml — named nsight_tegra_build.xml — that runs before the build.xml, and sets properties from within Visual Studio’s project properties. There are two reasons for doing this: 

  1. With ANT, the first variable set is the one that is used in both .properties and build.xml files.
  2. Most users' default files come from samples, and already have set properties. This works around options the user may have changed.

To work around this issue and get your forced overrides back in, you would take advantage of these lines that we auto-generate: 

<import file="<path>\nsight_tegra_build_overrides_<config>.xml" optional="true" />
<import file="<path>\nsight_tegra_build_overrides.xml" optional="true" />

The first line allows you to do config-specific overrides; the second line contains shared overrides.

From here, you would set your properties, making sure to get the paths you set up in Visual Studio.

For reference, here is a snip of the actual properties that are overridden.

REGION-BEGIN: The following properties prevent Nsight Tegra from needing to modify user property files. 
Setting them here will ensure they always match Visual Studio and allows users to build without needing to check out version controlled files.-->
<property name="sdk.dir" value="C:\NVPACK\android-sdk-windows" />
<property name="target" value="android-15" />
<property name="source.dir" value="src" />
<!--REGION-END-->
<!--
REGION-BEGIN: The following properties prevent Nsight Tegra from needing to modify user manifest files.
Setting them here will ensure they always match Visual Studio and allows users to build without needing to check out version controlled files.-->
<property name="manifest.file" value="C:\<path>\nsight_tegra_manifest.xml" />
<property name="manifest.abs.file" value="C:\<path>\nsight_tegra_manifest.xml" />
<!--REGION-END-->
<!--
REGION-BEGIN: The following properties allow Nsight Tegra to maintain build results per-configuration (debug, release, etc).-->
<property name="gen.absolute.dir" value="C:\<path>\Tegra-Android\Debug\gen" />
<property name="out.dir" value="C:\<path>\Tegra-Android\Debug\bin" />
<property name="jar.libs.dir" value="C:\<path>\Tegra-Android\Debug\libs" />
<property name="native.libs.absolute.dir" value="C:\<path>\Tegra-Android\Debug\libs" />
<target name="-pre-compile">
<path id="project.all.jars.path">
<path path="${toString:project.all.jars.path}">
<fileset dir="${jar.libs.dir}">
<include name="*.jar" />
</fileset>
</path>
</path>
</target>
<!--REGION-END-->
<!--
Reference in original document.-->
<import file="C:\<path>\build.xml" />
</project>

 

 

 

 


NVIDIA® GameWorks™ Documentation Rev. 1.0.200608 ©2014-2020. NVIDIA Corporation. All Rights Reserved.