View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0029568 | Community | OCCT:Visualization | public | 2018-03-12 21:38 | 2018-03-14 17:42 |
| Reporter | uhammoud | Assigned To | kgv | ||
| Priority | normal | Severity | major | ||
| Status | closed | Resolution | no change required | ||
| Platform | Windows | OS | Windows 7 64-bit | ||
| Product Version | 7.2.0 | ||||
| Summary | 0029568: Rotation and Translation performance | ||||
| Description | Loading a large number of objects (~2K) slows down the applications and makes it not responsive especially when translation or rotation is performed. Are there options to optimize the performance of translation and rotation under heavy load? | ||||
| Tags | No tags attached. | ||||
| Test case number | |||||
|
|
Slow down on big number of presentations is expected behavior, though 2k presentations should not be that bad on modern desktop CPUs. Draw Harness comes with a sample spheres.tcl displaying about 1k spheres with some of them animated - this sample can be used to evaluate performance of your computer, and also can be investigated for basic optimization approaches available in OCCT. In case if presentations are simple, the rendering frame-rate becomes limited by CPU performance. And due to design issues of OpenGL library, the payload is not distributed well across CPU cores. The following approaches are usually considered for solving rendering performance issues: - Offloading 3D Viewer rendering into dedicated thread on application level (so that application and GUI framework logic releases more CPU resources for rendering thread). - Grouping big amounts of small objects into larger Presentation(s). - Separating static and dynamic objects across Z-Layers. - Avoiding redundant (duplicating) Viewer updates (redraws). - Implementing application-specific optimizations considering deep knowledge of used data structures, models and usage scenarios. - Hiding objects, which cannot been distinguished by eye due to large distances. - Optimizing presentations (including pre-processing of input models; decimation). Usually, this is enough for achieving reasonable performance for most OCCT-based applications. At OCCT level, substantial performance improvements for large number of objects can be expected from moving towards Vulkan. Lesser CPU overhead and multi-threading optimizations (at application level) are key features of this new interface. Such transition, however, implies considerable amounts of work. |
|
|
Please provide more meaningful description (e.g. if there is a regression, unexpected performance issue within specific use case that can be clearly fixed, or you are going to provide patches). Otherwise, I'm going to close the issue as expected behavior. |
|
|
I will write a sample app to demonstrate the behavior. You may close the issue for now. Thanks |
|
|
Dear bugmaster, please close the bug. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2018-03-12 21:38 | uhammoud | New Issue | |
| 2018-03-12 21:38 | uhammoud | Assigned To | => kgv |
| 2018-03-12 23:06 | kgv | Note Added: 0074409 | |
| 2018-03-12 23:07 | kgv | Note Edited: 0074409 | |
| 2018-03-12 23:08 | kgv | Note Edited: 0074409 | |
| 2018-03-13 07:36 | kgv | Note Added: 0074410 | |
| 2018-03-13 07:36 | kgv | Assigned To | kgv => uhammoud |
| 2018-03-13 07:36 | kgv | Status | new => feedback |
| 2018-03-13 07:36 | kgv | Resolution | open => no change required |
| 2018-03-13 07:37 | kgv | Note Edited: 0074410 | |
| 2018-03-14 16:54 | uhammoud | Note Added: 0074482 | |
| 2018-03-14 16:57 | kgv | Note Added: 0074483 | |
| 2018-03-14 16:57 | kgv | Assigned To | uhammoud => bugmaster |
| 2018-03-14 17:41 | bugmaster | Assigned To | bugmaster => kgv |
| 2018-03-14 17:41 | bugmaster | Status | feedback => assigned |
| 2018-03-14 17:42 | bugmaster | Status | assigned => closed |