Esri / i3s-spec

This repository hosts the specification for Scene Layers which are containers for arbitrarily large amounts of geographic data. The delivery and persistence model for Scene Layers, referred to as Indexed 3d Scene Layer (I3S) and Scene Layer Package (SLPK) respectively, are specified.
Other
319 stars 85 forks source link

A few question regarding to 1.7 Update. #34

Closed intckarl closed 4 years ago

intckarl commented 5 years ago

By comparing 1.6 and 1.7, one could find that they are basic the same. All different I can find is 1.7 now support Draco compress and nodepages.

Even in ArcGIS Pro 2.4, it still only create version 1.6. One have to use the converter to update to 1.7.

By studying the outcome, I found that 1.7 make leaf node much smaller, with produce more nodes in total, thus make the result SLPK much larger.

Also, I found a hashtable in both 3d object and Integrated Mesh, which you failed to mention in the doc.

So far one could tell that 1.7 cut the nodes smaller and draco it more smaller to speed up transmitting, and use nodepages and hashtable to speed up querying. but in practice, it cause the server overwhelmed by sending too much requests. And actually make it slower to load.

Please give me an answer, Thank you.

jfoster126 commented 5 years ago

Hi @intckarl , thank you for your feedback.

You are correct, the main changes for 1.7 are Draco and nodepages. The new additions in 1.7 are summarized in the What's New section in the ReadMe. Since 1.7 is backwards compatible with 1.6, deprecated items in 1.7 still need to be included in order to support 1.6 clients. E.g. The sharedResources is deprecated, but still included in a 1.7 Scene Layer Package (slpk).

1.6 and 1.7 slpk have the same number of nodes. The 1.7 nodes are organized into nodepages. More details about nodepages can be found in the I3S format doc and in the nodepage definition.

ArcGIS Pro 2.4 writes out version 1.7 for 3D Objects when creating slpk. You can verify this by opening the slpk to finding the nodepages folder, or using the -i option in the new i3s_converter.exe.  In ArcGIS Pro 2.5, we plan to output 1.7 when caching on the server and move the other slpk profiles to 1.7.

The hash table documentation in 1.7 is the same as the hash table in 2.0. The 1.7 can be found here. We forgot to include the copy in the 1.7 documents in the initial push, good catch.

intckarl commented 5 years ago

@jfoster126 Hello, thank you for reply. In my test, I use ArcGIS Pro 2.4 and only have 1.6 produced, as below. You can see the time, I just do it again this morning. 222

Also, when I use the converter to update some existing 1.6 slpk to 1.7, the file became much larger. QQ截图20190708091754 That is 3d object. also I got an Integrated Mesh whose 1.6 is 7.8GB and 1.7 is 18.3GB

But you are correct about 1.6 and 1.7 slpk have the same number of nodes. And I didn't find what cause the extra file amount.

One more question, is 1.7 only appliable to Enterprise 10.7.1 or also be compatible with 10.7? I mean the hash table and node pages that speed up part.

intckarl commented 5 years ago

image

That said Integrated Mesh slpk

jfoster126 commented 5 years ago

Hi @intckarl ,

It's possible that the regkeys didn't get cleaned up correctly when installing Pro 2.4.

To clean up the registry, close Pro. In the Registry Editor, please delete the folder:

HKEY_CURRENT_USER\Software\ESRI\ArcGISPro

The next time Pro is started, the registry keys will be regenerated.

Tamrat-B commented 5 years ago

Hi @intckarl,

you mentioned:

image

That said Integrated Mesh slpk

you also wrote:

That is 3d object. also I got an Integrated Mesh whose 1.6 is 7.8GB and 1.7 is 18.3GB

But you are correct about 1.6 and 1.7 slpk have the same number of nodes. And I didn't find what cause the extra file amount.

The reason why the IntegratedMesh at 1.7 is much bigger than the input 1.6 IntegratedMesh is most likely because the original Integrated Mesh content did not include compressed textures (for example in the form of [DXT ]. See here for 1.6 definition of supported textures and here for 1.7 definition.

You can verify this by navigating to your SLPK using any archive viewer (eg. 7zip). You'll notice that in the 1.7 version you have both jpg and compressed texture in dxt format (dds container) as below.

image

Most likely in your 1.6 input the dds texture is missing and hence the reason for the significant difference in size.

Hope this helps.