Page 1 of 2

AT2 v2.0.2 - Development Build 2

Posted: Wed Apr 09, 2014 12:19 pm
by Diogo Teixeira
.
Amplify Texture v2.0.2 is Now Available for Download
http://amplify.pt/download
Dear developer,

We're finally able to deliver the long awaited devbuild 2 and proudly present to you the long awaited new feature: multi-VT or Multiple Virtual Textures Per-Scene (simultaneously). We had to change a lot of code to get these running and we're hoping they'll be worth the wait. To get this feature working we also had to reduce the memory footprint dramatically, which is a great bonus.

AT2 no longer takes hundreds of MB of system RAM, even if you're using 16 of the largest Virtual Textures. GPU/video RAM, on the other hand is currently overused by AT2 on High and Ultra modes. If you're using 16 large VTs, we recommend you target GPUs with, at least, 6 GB of GPU memory. This overuse is temporary, however, and we'll be reducing the minimum requirements for Ultra mode down to 2 GB in future revisions.

Again, please keep in mind that, while we're getting closer to shipping, this is still a development version and not recommended for production. We estimate that AT2 will be close to production quality around devbuilds 3 or 4.

Here are the changes introduced in AT2 v2.0.2 aka db2:
  • Requirements
    • Unity 4.3.3+

    Changes
    • Multi-VT support; Up to 16 simultaneous Virtual Textures per-scene (max 64 Terapixel)
    • Dramatic runtime memory footprint reduction; RAM footprint no longer depends on VT size
    • Introduced Virtual Texture Hardware Level property
    • Added new Cache Sizes for High and Ultra HW Level modes; 1024MB_16K and 2048MB_16K
    • Improved runtime performance inside the editor
    • Incremental build check is now triggered only when relevant changes happen (e.g. VTs and related materials)
    • Tile size is no longer explicitly changeable; will depend on HW Level
    • Using tile size of 512 x 512 no longer crashes (VT size >= 1024K x 1024K)
    • Disabled block-based runtime compression; subject to change
    • New Virtual Textures no longer contain a default material folder; must set one to begin
    • Added/fixed OSX support
    • Added/fixed OpenGL support
    • Added/fixed DX11 support
    • Amplify Texture specific profiler tags for light profiling

    Known Issues
    • Multiple Camera/Runtime still broken; to be fixed in db3
    • Error "Tried to read pixel out of bounds" is sometimes raised by Unity when playing on empty scenes
Some notes regarding this release:
  • Multiple Virtual Textures Per-Scene
    The way this works is by filling a Virtual Texture array property with multiple textures on the Amplify Texture Manager, instead of the single one slot that was available in previous releases. Please note that VT Cache and Streaming Threads are are shared between all the VTs used in the same scene.

    If you notice invalid/black texturing on surfaces, using Amplify materials, that belong to a VT that is not assigned to the Manager, please note that this is expected behaviour. We'll be fixing this soon by introducing a new placeholder texture pattern in a later revision.

    Hardware Levels
    These are defined per-VT (top property) and were introduced to make it easier for us to deploy specific optimizations to certain hardware. We'll be delivering different capabilities and optimizations on Mobile hardware, Mainstream PCs, all the way to Ultra High-end workstations by targeting different minimum specs, APIs and GPU feature levels. This will open a ton of new possibilities for everyone.

    Hardware levels force constraints on Virtual Texture Size and runtime Cache Size:
    • Mobile - limited to 128K x 128K VTs and _128MB_4K cache
    • Standard - limited to 256K x 256K VTs and _512MB_8K cache
    • High - limited to 512K x 512K VTs and _1024MB_16K cache
    • Ultra - limited to 2048K x 2048K and _2048MB_16K cache

    Please note that all multiple Virtual Textures used in one scene must belong to the same Hardware Level.

    Material Folders
    Project root "Assets/" is no longer the default Material Search folder. Now, a new VT does not define material folders by default anymore. This will prevent accidentally building a giant VT for your entire project when you're trying to set things up.

    Virtual Texture Builds
    There were some issues that were causing build checks to be triggered way too often. This was causing a massive slowdown in the editor. Now, VT build checks (checking if materials changed) will be triggered only if the VT asset, or a material belonging to any of the search folders, is modified and ONLY if a Project/Scene Save is triggered (or Update/Rebuild are hit). Also, a progress bar for the build check phase is shown before the actual build. This way you always know what's happening.

    Runtime Performance
    We're leaving all the optimizations to the last revisions, once we have all the workflow and features pretty much nailed. And trust me, we have a TON of performance and memory optimizations planned. However, our priorities at the moment are features, robustness, scalability, workflow and user interface.

    Also, please keep in mind that AT2 will always be slower inside the editor due to thread syncing happening when playing inside the editor. To get more accurate profiling, please link the profiler to a standalone build instead.
What's next?
  • Alloy Physical Shader Framework and Shader Forge
    Unfortunately, third-party support had to be postponed to devbuild 3.

    Virtual Texture Layout Presets
    This feature is very linked with third-party support, so also postponed to devbuild 3.

    Texture Import Folder Proxy
    We will be introducing a remote/proxy import folder tool that will help avoid having to copy your large textures, or any textures meant for virtualization for that matter, into your Unity project folder. This workflow will allow you to specify texture folders, outside the Unity project folder, that will be added to the VT by Amplify Texture without Unity ever touching them.

    Unity 5 Beta
    We'll be adding support for Unity 5 Beta and 64bit editor on devbuild 3. This should solve a lot of issues for people using textures larger than 8K x 8K.

    Imagine adding your MARI output folder to the list of proxy folders and have them update on your VT as soon as they're changed. This should be a massive time saver, as well as allow us to support textures of any size (only bound to existing RAM). This feature is most likely show up on devbuild 3.
Important call to cooperation:
  • If AT2 is a pivotal tool in your large-scale project, please consider providing us one of your larger datasets for robustness testing. Unfortunately we're lacking large data sets and in AT2 we _really_ want to solve ALL scalability issues.

    Please note that we're available to sign any contracts or NDAs necessary to protect your copyright. We are absolutely certain that both our parties can benefit from this type of cooperation. If you're interest, please contact us directly or, feel free to reply here to get things started.
We apologize for the delays. This is mostly due to a mix of being spread thin across many projects and inadequate hardware. We're working hard to improve both.

As usual, we invite you to participate and help us shape this product. Your feedback is very important to us.

Re: AT2 v2.0.2 - Development Build 2

Posted: Wed Apr 23, 2014 11:42 pm
by DonGray
Can't import the dll for 2.0.2:

Image

Re: AT2 v2.0.2 - Development Build 2

Posted: Thu Apr 24, 2014 8:03 am
by Diogo Teixeira
Hi Don,

Please make sure you remove any previous versions of AT1 before you install AT2.

In any case, use the following steps to install:
1) create/load a new empty scene (just temporary)
2) delete any AT1 files
3) import AT2 dev package
4) return to the original scene, no need to save

Let me know if this works for you.

Re: AT2 v2.0.2 - Development Build 2

Posted: Tue Apr 29, 2014 6:38 pm
by DonGray
Thanks, will look into it.

Re: AT2 v2.0.2 - Development Build 2

Posted: Thu May 22, 2014 6:00 am
by DonGray
I get this several times a day:

WindowLayouts are invalid. Please use 'Window -> Layouts -> Revert Factory Settings...' menu to fix it.
UnityEditor.EditorUtility:ClearProgressBar()
AmplifyTexture.ProgressBar:Close()
AmplifyTexture.AssetMonitorCache:UpdateDB()
AmplifyTexture.AssetMonitorCache:Start()
AmplifyTexture.AssetMonitor:Start()
AmplifyTexture.InternalEditor:Start()
AmplifyTexture.InternalEditor:CheckInstance()
AmplifyTexture.VirtualTextureEditor:.cctor()
UnityEditor.EditorAssemblies:SetLoadedEditorAssemblies(Assembly[])

Re: AT2 v2.0.2 - Development Build 2

Posted: Thu May 22, 2014 4:56 pm
by Diogo Teixeira
Hi Don,

Is this on Unitu 4.3.4 ? Are you, by any chance, swapping between Unity 4 and Unity 5 beta?

Is the call stack always the same?

Do you mind pasting a larger portion of the log that contains the error?

I'll be on the lookout for this one.

Re: AT2 v2.0.2 - Development Build 2

Posted: Mon May 26, 2014 5:01 am
by DonGray
Hi,
The error message in Unity (latest 4.6 beta, keeping numbers secret).
I'm a scripting simpleton, strictly an artist type.
As for call stack and more of the editor log, show where they are and I'll gladly post them here.
Not getting notifications on responses here, so always late.
Will check my settings.

Thanks!
Don

Re: AT2 v2.0.2 - Development Build 2

Posted: Mon May 26, 2014 10:53 am
by Diogo Teixeira
DonGray wrote:Hi,
The error message in Unity (latest 4.6 beta, keeping numbers secret).
I'm a scripting simpleton, strictly an artist type.
As for call stack and more of the editor log, show where they are and I'll gladly post them here.
Not getting notifications on responses here, so always late.
Will check my settings.
You can access the log here:
Image

If it's ok with you, feel free to send over the entire log.

Regarding 4.6: so far I've added basic support but it's not a version I've been testing lately. I'll do my best to get issues sorted out for 4.5 and 4.6 beta before releasing devbuild 3.

Cheers

Re: AT2 v2.0.2 - Development Build 2

Posted: Thu May 29, 2014 7:44 am
by DonGray
Thanks, I'll remember where the editor log button is for future reference.
Actually, here it has been moved to the drop down menu at the right upper edge.
Think I might have had AT set up wrong before, I put the AT Camera in my custom Camera Manager and thought nothing of it, but removed it earlier and haven't gotten the error since.
I am running into something new here, though, AT seems to be very aggressive in it's updating.
I may be working in the scene or the editor and it will update often though I haven't really done anything other than click an area or object. Guess at least I know it's working.
Might very well have to do with the Unity auto-save utility I installed.
the whole log is almost 4000 pages, is that normal?
I created a PDF (5mb) is you want to see it.

Re: AT2 v2.0.2 - Development Build 2

Posted: Thu May 29, 2014 7:47 am
by DonGray
OK, after reading the notes above, yeah, hadn't done that before,
it has to be the autosave feature. By default it's set to one minute, think I'll raise that.