Page 1 of 1

Reshapable proxy not working

Posted: Sat Jun 06, 2015 10:07 am
by Andrew88
Hi, sorry if this topic has already been discussed.

i have an very heavy scene with lots of characters deforming. to speed things up a bit i decided to use the reshapable proxy mode for my scene. however, it seems like the batchrender is still reloading the entire scene frame by frame.
i also did an independent test on a new scene. i could see that it took roughly 15 seconds pr frame with full animation, and with the reshapable proxy it still took 15 sec pr frame. to some degree it did work. i could deform my geometry and the renderview would update almost instantly. but for some reason it didn´t work in batch render mode. also, i did try the movable proxy and that worked well, only 6 sec pr frame. but my scene is very complex and has a lot of deforming models, so i have to use the reshapable mode.
and yes, i have enabled movable proxy for the non deformed models and used reshapable for the deforming models, so it´s not an error from my side ;)
hope some of you can help me out :)

regards
Andrew

Re: Reshapable proxy not working

Posted: Sun Jun 07, 2015 9:56 pm
by TBFX
Hi Andrew,

I haven't had a chance to test the latest version yet so don't know if you have encounered a bug or not for sure, though if reshapable proxies are updating in an IPR then it seems unlikely they are broken. Here are some thoughts below, you probably know all this and your issue is something else but reading your post I thought there was a chance this could help.

As you know movable and reshapable proxies improve load times over an animation by limiting the amount of geo that needs to be sent to the GPU per frame so the first frame will still need to load everything. After that the efficiency obtained depends greatly on the proportion of movable or reshapable proxy geo to the global geo in your scene.

In other words if you have a scene with a lot of geo but just one object is a movable or reshapable proxy then the load time savings in an animation will be big but if most or all of the geo in your scene is set to reshapable proxy (which means the geo must be sent to the GPU per frame) the load times will be similar to leaving all geo global. It really depends on your scene and animation as to how well you can optimize this. For some scenes with a lot of deforming geo you may be better off leaving everything as global mesh and taking advantage of the faster render speed of this option as having just one proxy mesh in your scene slows the render speed and this always needs to be weighed up against per frame load time savings.

T.

Re: Reshapable proxy not working

Posted: Mon Jun 08, 2015 10:55 am
by Andrew88
Hi

yes i am trying to render a huge crowd scene so pretty much every geometry in the scene is either movable proxy er reshapable proxy. the earlier tests i did showed that my loading time decreased a lot when using reshapable proxy. but at that time i was not able to render all of the crowd characters because of memory limit on the gpu. And now when i am able to render all of it at once i guess it won´t matter if i use full animation or reshapable proxy, except lower renderspeed.

seems like i didn´t understood the movable proxy well enough ;)
i don´t know if it´s just me, but is it wrong to say that 1 to 1,5 min of loading time is too much ?
if i sum it all up, loading time, beauty pass, zdepth, AO pass and driving the crowd characters frame by frame. it takes about 3 min to render a new frame. and the impatient guy i am finds it too slow, or should i be contend about it ?
oh, and i´m actually rendering a shot with 1800 frames or so.

i really appreciate your post, thanks :)

Re: Reshapable proxy not working

Posted: Tue Jun 09, 2015 5:10 pm
by ciboulot
Hi Andrew,

From my perspective, your loading time don't seem too long. It depends.
How much geos are loading?
How much polys do you have?
Your reshapable proxies are animated by a cache file, an fbx or an alembic file?

DId you try the scatter argument? (not sure it can apply for your scene).

One of our latest project did have a loas time of 2 min, and we tried several scenarios before getting a 1 min load.
Textures are very important also. We noticed that the more the textures, the more the load time.... Maybe you should investigate that way.

Here it is , I brought my penny...

see you

Re: Reshapable proxy not working

Posted: Mon Jun 15, 2015 10:24 am
by Andrew88
Hi sorry for my late reply. i have been quite busy.

i learned that my scene contains 16.994.826 triangles which is quite a lot, however it seems i still got roughly 2GB memory left. and my crowds consists of 2700 meshes.
i can´t use the scatter method because i´m using the Miarmy crowd plugin.

in miarmy the rendering procedure is, that you cache out the joint rotation and position and duplicates the meshes. the cached joints are then driving the duplicated meshes. but this method is very memory consuming.
i have done some render tests, with and without movable proxy. i don´t know if my scene is broken or not but i´m getting some really long loading times.
first i tried with global, the renderer spend roughly 18 mins on loading all the geometries. it doesn´t make sense because i did some earlier tests it loaded the meshes in only a few minutes. i enabled the movable proxy and did another test, this time i had halved the loading time. so roughly 9 mins now.
Another thing that is strange, is that if i load in 1000 meshes it only takes 50 secs but if i add 1000 meshes more the loading time increases exponentially and i get lke 8 or 9 mins of loading time.
Miarmy are able to export alembic files, but i found it difficult to use because the alembic files gets so huge. 1000 meshes use about 300 GB of HD space.
i don´t know, maybe my scene is broken ?
also my graphics driver often crashes when trying to render this scene.
does anyone know what the loading time roughly should be ?