Hello Carsten,
On Thu, Oct 20, 2011 at 1:14 AM, Carsten Neumann <[email protected]>wrote:
> Hello Robert,
>
>
> On 10/19/2011 08:22 AM, Robert Petka wrote:
>
>> after some further testing, I have found some problem regarding loading
>> of OSB files. Please see attached code sample (modified
>> testVRMLLoader.cpp) and correct me if I`m wrong, but it seems that that
>> loading time of OSB after previously deleting nodes is much higher.
>> Difference can be seen also on relatively small files. Is there
>> something wrong in sample code attached?
>>
>
> the code is ok. Since in this case you don't need the changelist to apply
> changes to a different aspect or send it over the network, you can use
> commitChangesAndClear() instead of only commitChanges(), but it does not
> make much of a difference.
> I've made some tests using a ~370MB .osb [1] and making some small
> modifications to your test program (see attached).
>
> This is what I get:
>
> round 0 load 0 loadTime 2.37531 total time 2.38646 #live FC 33673 delta
> live FC 33388 #total FC 36313 delta total FC 36027
> ...
> round 0 load 9 loadTime 6.07751 total time 6.09102 #live FC 334165 delta
> live FC 33388 #total FC 360556 delta total FC 36027
> round 0 round total time 33.1163
> #live FC 285 #total FC 360556
>
> round 1 load 0 loadTime 2.32653 total time 2.33867 #live FC 33673 delta
> live FC 33388 #total FC 396583 delta total FC 36027
> ...
> round 1 load 9 loadTime 4.08561 total time 4.09928 #live FC 334165 delta
> live FC 33388 #total FC 720826 delta total FC 36027
> round 1 round total time 30.3623
> #live FC 285 #total FC 720826
>
> There is a trend that later loads take a little longer and the 6 secs at
> the end of round 0 are fairly strange. Overall it does not look like the
> times are exploding with increasing run time though.
> The ref counting also seems to work, the 285 live objects are the prototype
> instances, everything else gets cleaned up.
> My guess would be that the differences come from variations in heap
> allocation times and possibly the need to grow certain internal data
> structures at times.
> Do you see larger variations on your files or do load times increase more
> for large files for you?
>
> Cheers,
> Carsten
>
> [1] I've also used a much smaller file of ~40MB and get similar results.
>
Thank you for you time. At first I thought that problem can be in my app
that creates osb files from input data, so I decided to convert my old files
from version based on 1.8 to wrl using OpenSG Viewer, re-saving that wrl by
DeepExploration (tried also without this step), then by simply reading that
wrl and saving it as osb in OpenSG 2.0. File is ~37MB, with many many simple
primitives (cylinders, boxes,...) and non-primitive polygonal data in really
complex hierarchy. Here are my results:
round 0 load 0 loadTime 1.368 total time 1.385 #live FC 49741 delta live FC
49462 #total FC 49742 delta total FC 49462
round 0 load 1 loadTime 1.371 total time 1.39 #live FC 99203 delta live FC
49462 #total FC 99204 delta total FC 49462
round 0 load 2 loadTime 1.381 total time 1.402 #live FC 148665 delta live FC
49462 #total FC 148666 delta total FC 49462
round 0 load 3 loadTime 1.379 total time 1.4 #live FC 198127 delta live FC
49462 #total FC 198128 delta total FC 49462
round 0 load 4 loadTime 1.408 total time 1.429 #live FC 247589 delta live FC
49462 #total FC 247590 delta total FC 49462
round 0 load 5 loadTime 1.416 total time 1.437 #live FC 297051 delta live FC
49462 #total FC 297052 delta total FC 49462
round 0 load 6 loadTime 1.389 total time 1.411 #live FC 346513 delta live FC
49462 #total FC 346514 delta total FC 49462
round 0 load 7 loadTime 1.411 total time 1.432 #live FC 395975 delta live FC
49462 #total FC 395976 delta total FC 49462
round 0 load 8 loadTime 1.42 total time 1.442 #live FC 445437 delta live FC
49462 #total FC 445438 delta total FC 49462
round 0 load 9 loadTime 1.43 total time 1.451 #live FC 494899 delta live FC
49462 #total FC 494900 delta total FC 49462
round 0 round total time 14.251
#live FC 279 #total FC 494900
round 1 load 0 loadTime 1.508 total time 1.527 #live FC 49741 delta live FC
49462 #total FC 544362 delta total FC 49462
round 1 load 1 loadTime 2.155 total time 2.175 #live FC 99203 delta live FC
49462 #total FC 593824 delta total FC 49462
round 1 load 2 loadTime 5.637 total time 5.658 #live FC 148665 delta live FC
49462 #total FC 643286 delta total FC 49462
round 1 load 3 loadTime 10.976 total time 10.997 #live FC 198127 delta live
FC 49462 #total FC 692748 delta total FC 49462
round 1 load 4 loadTime 11.03 total time 11.053 #live FC 247589 delta live
FC 49462 #total FC 742210 delta total FC 49462
round 1 load 5 loadTime 20.499 total time 20.52 #live FC 297051 delta live
FC 49462 #total FC 791672 delta total FC 49462
round 1 load 6 loadTime 15.502 total time 15.523 #live FC 346513 delta live
FC 49462 #total FC 841134 delta total FC 49462
round 1 load 7 loadTime 19.6 total time 19.622 #live FC 395975 delta live FC
49462 #total FC 890596 delta total FC 49462
round 1 load 8 loadTime 23.375 total time 23.397 #live FC 445437 delta live
FC 49462 #total FC 940058 delta total FC 49462
round 1 load 9 loadTime 23.114 total time 23.136 #live FC 494899 delta live
FC 49462 #total FC 989520 delta total FC 49462
round 1 round total time 133.675
#live FC 279 #total FC 989520
Test app gets ~500MB in memory after all loading of round 0 is done, then
memory gets correctly freed. I have tested also with other wrl files, that
come from various sources, and still second round time is higher then first
round. Difference depends on complexity of model.
Kind regards,
Robert
------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Ciosco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users