assurance-tunnel
assurance-tunnel
assurance-tunnel
assurance-tunnel

Isadora, 2013 Mac Pro, dual GPUs and CPU isssues


  • Beta Platinum

    @dritter 

    Hi Don,

    I have a very similar project that I have been developing for some time. I have found that using the 3D Model Particles and specifically the ‘group index’ parameter can produce much more efficient representation of multiple 3D models through a single .3DS file. I have had consistent higher frame rates, using a 2015 MacBook Pro, to precisely control 30 - 40 spheres simultaneously through the 3D Model Particles actor. These are 3D files where some initial spatial arrangement of the individual mesh geometry is done in the modeling software and each sphere remains a separate object in the 3D scene before exporting to .3DS file. Isadora can then read each sphere in the file as independent geometry and by timing the 3d Model Particles parameters: ‘group index’ and position x,y,z to synchronise ie. linking all the parameters to the appropriate frequency of a Pulse Generator through a configuration that 'selects' the group index number while simultaneously delivering the position coordinates for each sphere to the x,y,z parameters. In doing this the Kinect OSC motion data can be scaled and linked to the x,y,z of the 3D Model Particles actor through a timed/synchronized delivery of position data at the moment a mesh 'group' instance will spawn/birth. In this way all of the spheres associated with skeleton tracking are aligned to their own mesh 'group' within a single .3ds file. In my experience this is much more efficient and significant frame rate improvement is possible.

    I have a couple of the MacPro 3.5 ghz around at the moment, I am unsure if I will have the opportunity to run up my project any time soon but perhaps over the next week or so.

    I have also made available a tutorial guide to using the ‘group index’ of the 3D Model Particles actor. It is the third tutorial of the 3D Particles tutorial I distributed to the forum a couple of months ago. The trick is to find the right calibration between the Particle Count and the Hold Time (including Fade-in and Fade-out times) so that the representation of each sphere appears to persist, even though it is continually timing out and spawning new instances, based on synchronizing the frequency of triggers at the 'Add Obj' parameter.


    There is a quick screen capture of a prototype system using this technique here. The screen capture shows a prototype patch that simultaneously routes Kinect skeleton data to three different systems , a configuration of 3D Lines actors, a 3D Particles actor and a 3D Model Particles actor.

    Best wishes

    Bonemap



  • @jhoepffner if there are less vertexes is there less for the gfx card to do though?



  • @dritter for po2 texture sizes this article has some info about game engines, but the hardware we use is the same.

    https://www.katsbits.com/tutor...

    basically GFX cards are optimised to deal with some kinds of math over others. So make the width and height of your textures powers of 2, so 128 * 512 or 256 * 512 would be the closest for you.



  • thank you Jacques, ok, I am not really afraid of Windows, I just don't have time to get familiar with a  new machine and OS. I still use  windows XP/Bootcamp on my MacBook Pro for 3DS Max.

    Don



  • Thank you Fred, ok, I will try a map of that resolution. I just tried loading copies of all  the 90  .3ds files and their png maps, and also another 180 individual .png files that were used for particle animation. There was no increase in the frame rate.

    regards,

    Don



  • @bonemap  thank you, I will try that approach tomorrow.

    sincerely,
    Don



  • @fred

    No, there is less for the CPU.

    The render pipeline is like that:

    basic geometry is produced in CPU, if your mesh is still build, like with 3ds files, there is little work to do but if you multiply the same mesh by 90 with different position for each one, there is a bottleneck passing information from CPU to GPU. Its the reason why 3D Model particle is efficient, you only pass 1 mesh and the GPU multiply it with information coming from particles emiter (can be calculated in GPU).

    In the GPU

    - the received vertices are recalculated in the "vertex shader", adding principaly the point of view, aka camera, to define where are the vertices in the final frame and passing it to the next shader

    - the "geometry shader" (not mandatory) can multiply the vertices, making a cube from a point, transforming 1 vertex to 8 vertices

    - the "fragment shader" compute what color have each pixel, using texture and uvmap and mixing with information about lighting and texture reflexion. The output is your stage.

    @dritter 

    There is a huge difference in stability and ease of use between XP and 10. Even in bootcamp, if you have a good GPU, you can feel the difference with 3D studio Max.



  • @bonemap

    Bonemap, I tried to open your file Geometry_Groups.izz using Isadora 2.6.1 on a Mac and I get the message that it cannot be opened because it was created with a newer version of Isadora. Which versions should I be using?

    thank you

    Don



  • @bonemap

    Bonemap

    I downloaded Source Three.zip again and now it works.  Looks good! thank you.

    Don


  • Beta Platinum

    @dritter

    Hi Don,

    It is a v2.6.1 file.

    I am happy to hear that you have accessed the file.

    Best wishes

    Bonemap



  • @bonemap

    wow, very innovative solution using groups in the .3ds files. Runs at 38 fps on my Mac Pro


  • Beta Platinum

    @dritter said:

    @bonemap
    wow, very innovative solution using groups in the .3ds files. Runs at 38 fps on my Mac Pro

    Hi,

    Great to hear that you are getting improved results. We don’t have to give up on the Mac yet!

    Best wishes

    Bonemap



  • @bonemap
    Bonemap, sorry for the misunderstanding. I meant your patch runs at 38 fps.  I have not yet tried your approach on my patch but I will over the next week.

    I am also considering testing my project on a Dell PC  and GeForce GTX 1080. I will be posting some questions about that in the next few hours.

    regards,

    Don


  • Beta Platinum

    @dritter

    Hi Don,

    OK well it will be interesting to hear about the comparison. There has been a noticeable move to the PC/Nvidia platform and it is entirely understandable.

    Best Wishes 

    Bonemap 



  • @bonemap
    @fred

    Bonemap and Jacques, thank you for the information on using Isadora under Windows. I am now considering this option as my tests on a 3.5 GHz Mac Pro with a D700 GPU did not provide a significant increase over a Mac Pro with a D500. I would greatly appreciate if you or another user could clarify my findings  regarding using Isadora under Windows:  

      1. An Isadora patch created under OSX can be opened in Isadora on a Windows computer, only the container and codec for the video files must be changed.

      2. Continuous multi-channel OSC data can be sent between a Mac and a PC with no problems. (Mac->router->PC)

      3. The best performing/suggested video format for Windows is the AVI container using the HAP codec. (Is it possible to convert a ProRes MOV file to a HAP AVI file on a  Mac, or can this only be done on the Windows side? I have no video software for Windows.)

      4. I am considering a Dell with a Xeon E-2146G, 6 Core 3.5 GHz CPU, 16 or 32 GB RAM, GeForce GTX 1080 (8GB), NVMe SSD , and 460 W power supply. I read other Isadora users are using this GPU or is there something better? Do you think would this setup outperform the 3.5GHz Mac Pro with the D700 GPU?    

    Many thanks!

    Don



  • @dritter 

      1. An Isadora patch created under OSX can be opened in Isadora on a Windows computer, only the container and codec for the video files must be changed.

    Yes this works fine, as long as the versions are matching, or the move is one directional.

      2. Continuous multi-channel OSC data can be sent between a Mac and a PC with no problems. (Mac->router->PC)

    OSC and networking work great on PC and MAC

      3. The best performing/suggested video format for Windows is the AVI container using the HAP codec. (Is it possible to convert a ProRes MOV file to a HAP AVI file on a  Mac, or can this only be done on the Windows side? I have no video software for Windows.)

    At the moment this is a little difficult, depending on the content and resolution high data rate H264 may be suitable. Otherwise the conversion is a little annoying. 

      4. I am considering a Dell with a Xeon E-2146G, 6 Core 3.5 GHz CPU, 16 or 32 GB RAM, GeForce GTX 1080 (8GB), NVMe SSD , and 460 W power supply. I read other Isadora users are using this GPU or is there something better? Do you think would this setup outperform the 3.5GHz Mac Pro with the D700 GPU?  

    The 1080 is great, you may find a cheap 1080TI these days and it is worth the extra, either are orders of magnitude better than the D700. The CPU is also great, and yes this setup will leave your trash can in the dust.

     



  • @fred

    Great, thank you Fred, I don't know what you mean when you wrote "the move is one directional." Do you mean only from a lower to higher version and between same versions? I will occasionally move the patch between osx and windows in both directions, always using 2.6.1.

    regards,

    Don



  • @dritter once a patch is opened on a later version and saved it cannot be opened on an earlier version.



  • @fred

    thank you Fred.



  • @fred

    Fred, I just read your discussion about 5  outputs from a GTX 1080

    https://community.troikatronix...

    I am unclear what is the answer to your question. Does “primary display” refer to the Isadora control screen or the output from a stage. I will be using a GTX 1080 in a PC which also has an output from an Intel UHD Graphics 630. Do you know if that output can be used for a control screen/programming for Isadora while 4 stages come out through the 4 outputs on the GTX 1080.
    many thanks,

    Don