opensourceBIM / BIMserver

The open source BIMserver platform
GNU Affero General Public License v3.0
1.55k stars 610 forks source link

How to handle large models using any setting change in Either Bimserver / Surfer or XeoGl library settings ? #742

Closed dishesh closed 6 years ago

dishesh commented 6 years ago

Hi There. It is actually not an #issue but I could not find the easiest way to put this in short time. I want to use my Bimserver (V: 1.5.6X* ) to load IFC models with extreme large size per say > 8-10 GBs. I have been testing on small models < 50MBs but it takes lots of time and sometimes browser do not respond anymore. What I am asking is if anyone has tested this kind of loading please give me information on how to tune the system.

Thanks, DJ

rubendel commented 6 years ago

As mentioned numerous times, the size of the IFC file does not really say anything. The amount of objects, or the amount of triangles are more useful metrics. BIMserver is able to handle any size IFC file I have seen so far, the problem is usually in geometry generation.

BIMserve 1.5.6X is really old already, if you decide to go with a development version, why not use the latest version? There is not much to tune. BIMsurfer V2 uses a lot of HEAP, we are working on that. Also there is obviously a limit on the GPU which is specific for your system.

dishesh commented 6 years ago

Yes bim handled my file well, but now another issue has emerged. model also loads in chrome browser. rotates with some kind of shaking. But when try to zoom in out it suddenly disappears! can you suggest any kind of settings to handle or the cause why it is happening so ?

BimServer 1.5.69 Chrome 66/67

rubendel commented 6 years ago

I assume you are using BIMsurfer V1 or V2. Especially BIMsurfer V2 has performance problems, but any viewer will at some point stop performing well, obviously there is a limit to what a browser can load.

We are thinking about other techniques for loading large models that will do progressive loading of some sort, but those won't be ready any time soon.

dishesh commented 6 years ago

Ok but it seems browser needs more time to process viewFit for such a large model. can you or @xeolabs help me for that ? How to optimize performance for stability ? model size 200 mb and approx 4K objects

xeolabs commented 6 years ago

A BIMSurfer rewrite is underway on (unreleased) xeogl v0.8, to support larger models. The BIMSurfer rewrite API should be backwards compatible with V2 and I'm expecting it to handle 200MB / 4K objects without problems.

dishesh commented 6 years ago

Hi @rubendel @xeolabs I have managed to work with zoom( the issue was that model disappeared while zooming, and also with other functions / operations ) by changing in following values of bimCameraControl's input on 'mousewheel' function : if (lastHoverDistance) { viewDistance = viewDistance * **0.0002**+ lastHoverDistance; } var tickDeltaSecs = e.deltaTime /**10000.0;** var f = viewDistance * ((delta < 0) ? -1 : 1) / zoomTimeInSeconds / **1000.0;**

However I came to know from one of the issues with autoDesk that the issue of model Disappearing is with sometimes with perspective view of camera and sometimes need to reset viewport params or Origin values to [0,0,0].

Can you help me how can we do that in bimCameraControl ? Is there anything related to depth buffer values for model shaking while rotation ?

rubendel commented 6 years ago

I don't understand what you mean, also please create BIMsurfer issues on the BIMsurfer repo.