Project Taking a Long Time to Load

Issue #104 resolved
Benjamin Blasen created an issue

I am attempting to place a library object called "Shear Stud" into my project. I'm using another library object called "Stud Placement" in order to not have the repeat command used in the project. There are about 900 studs to be placed on each girder. The project is located here with the Shear Stud group commented-out:

https://openbrim.appspot.com/objid604cpj953l1y8l40h88exs0hhb.stark

With the shear studs commented-out, the project takes 23 seconds to load. With one "line" of shear studs the project takes about 2 minutes to load. With two lines, about 6 minutes. With three lines, about 11 minutes. With four lines, about 17 minutes.

The refinement on the studs is currently set fairly low (8 sided circles). The picture below shows one line of studs (3 rows per line) on girder 1.

studs.jpg

Comments (10)

  1. Ali Koc

    Each individual shear stud is setup to be warped with horizontal and vertical alignment. Warping is an expensive operation and you should rarely feel the need to use it other than for the deck object. Most objects should just be placed (option None) or oriented (option Orient) on the alignment.

    Let me know how much (if at all) this helps with the performance. We can look into it further.

  2. Benjamin Blasen reporter

    I'm not sure each individual stud is being warped, I think the whole line of studs is generated and then the line is placed on the alignment as if it was one object. When I set them to "orient" or "none" they take just as long to load and don't place on the alignment correctly.

    studs orient.jpg

  3. Ali Koc

    If we place AlignH on the group that contains all the shear studs, that means you want the whole groups to be oriented about a common origin and placed on the alignment as a whole. However, in this case, we want each individual shear stud to be placed on the alignment independently. So we should place AlignH, AlignV and AlignT parameters directly to the "Shear Stud" objects contained in "Stud Placement" object.

    I made a copy of your object (you can find it in the Library under Ali Koc\akShearStudPlacement). In that object, I placed AlignH="None" AlignV="None" to "Shear Stud" objects. This will handle the placement of the shear studs.

    For performance, there are number of enhancements in 3.150726. Aside from that we can achieve further performance gain by re-organizing the "Stud Placement" object. If the same object is repeated and placed at different locations using X, Y, Z parameters, then things should be faster. Because of Sx, Sy, Sz, S_Offset, each instance of Stud Placement object becomes a different one and repeated objects cannot be optimized. If you remove the parameters and instead apply X, Y ,Z to the objects in your project (see akShearStudPlacement), you can achieve performance.

    With all the shear studs active, this should render in under a minute: https://openbrim.appspot.com/objid2fij72fniiwl8i2a48loyor8jj.stark

    Note that, rendering of a bridge with all its details should be rendered under 5-10 seconds. However, we avoid going into any complex optimization while the development of OpenBrIM is still underway.

  4. Benjamin Blasen reporter

    These suggestions make the shear studs work much better, the project loads in under a minute; however, with all these studs the project responds very slow to any input (such as moving the view around, or selecting groups, or turning the visibility of objects on and off). Is there a way to speed up the responsiveness of the project with all the studs rendered?

  5. Ali Koc

    v3.150802 has further performance improvements. Show/Hide objects and graphics should be much more responsive to user interaction. Please confirm at your end and let me know if you encounter issues.

  6. Benjamin Blasen reporter
    • changed status to open

    Now that we are also including girder splices (which include several bolt groups each) the project takes about two minutes to load again. Without the splices or the shear studs, the project loads in about 35 seconds.

    Project with splices & shear studs commented-out: https://openbrim.appspot.com/objidf4srgxovbzulqluoy3jr6f.project

    Project including splices & shear studs: https://openbrim.appspot.com/objid9mc6ow5zuobf084ob10tm4hl1s.project

    Note: These load times are based on using the 64-bit Chrome beta, in the regular Chrome release the project crashes.

  7. Ali Koc

    Both models should now open fine on 32 bit browsers as memory usage has been reduced. The larger model should load in about 40 seconds. There is a also a progress bar now to inform you of the loading process.

  8. Ali Koc

    I will close this issue for now. If we run into another model that takes long time to load on operate, we can create a separate issue.

  9. Log in to comment