Isadora, 2013 Mac Pro, dual GPUs and CPU isssues
-
I am also interested by your problem, can you also send me some samples of the mesh and the textures?
Thank you, Jacques
-
Hello Jacques, I have just emailed you two examples.
merci,
Don -
Hi Don,
I assume the 3ds configuration you are attempting is the one represented in the images shown previously in another of your posts?
I still believe you can find efficiency by using the single 3D Model Particles actor and the ‘group index’ parameter with one 3ds file with all the geometry for one of your puppets. Using the 'group index' in such a way is a new approach that I have begun to develop and my tests indicate its efficiency manipulating multiple 3D geometry. This in association with optimising your models as much as you can tolerate, will give you the maximum performance with what you are attempting.
Jacques is right though, it is not trivial to setup and control the geometry through the 3D Model Particles actor. However, I have demonstrated, to myself at least, that it is possible to do it with the user actors that I have shared previously in a tutorial package.
Good luck with the continuation of your project development.
Best wishes
Bonemap
-
@dritter Hi, I had a quick look at one of the files, the ballRod 3ds, The object started with 1042 vertices and 1384 faces. After some light decimation I got 788 vertices and 899 faces, so about a 20 reduction, with no real artefacts. If the 3d rendering is the bottlneck you should get 15-20% higher framerate if you could achieve this for all models. I was using meshlab and the decimate function (Quadratic edge collapse decimation with texture, if you use without texture the texture map coordinates will get messed up and make it look super low poly), and set the target number of vertices to about 8% of the total vertices. This for sure could be done better, and with better looking results. If you can get the system running at or above your target framerate it would mean you are not pushing your system and heating it up (as well as having a smoother image). I would guess with a bit of work on all these models you can get a much better result.
I emailed you the decimated model.
-
Hi Don
I have re-threaded my patch to work with mesh instances using the 3D model Particles actor. This is not using the 'group index' because it is just the one model rather than a number of models in a single 3ds file. I thought I had better capture the test on video as evidence of the outstanding result in terms of improved frame rate. I was able to instance over 90 representations of the same complex 3D model of a tree, add lighting and assign coordinates from Ni Mate OSC getting a range of 50 - 60 fps. If I am able to achieve this frame rate on a Mac Pro 2013 with an AMD graphics, I imagine the same technique through a top flight Nvidia card will be phenomenal.
best wishes
bonemap
-
thanks bonemap, it looks good.
-
Thank you Jacques, Fred and Bonemap for your suggestions regarding optimizing the patch. I have spent the last few days comparing the results on a PC(with GTX1080ti GPU) and a Mac Pro(with dual D700 GPU). Most of this time was spent troubleshooting Isadora on the PC, which is now somewhat useable but very unstable.
During the tests I attempted to determine optimal use of this media: a 3840x1080 @29.97 background video, eighty-seven 3D objects each with 512x256 texture maps, six 3d particles objects(15 particle count), and forty-five 2D particle objects (42 particle count), all controlled by 135 OSC streams from three Kinects. The methods for optimization were:1. Optimizing 3D objects by reducing the number of vertices (each sphere was reduced from 988 to 203 vertices)
2. Use independent 3D object files and texture maps for the ninety-three 3D objects
3. Compare different codecs for the background video: [MOV ProRes 422HQ and 422LT] vs [MOV/MJPEG@75%]. I could not test the HAP codec because I do not have software to create HAP AVI files.
The frame rate for each test was determined by calculating the average fps from 100 samples, each sample being one second apart. The control data for the test was live OSC data from 1 Kinect connected to a Mac Book Pro running NI Mate 2.14, or three simultaneous OSC recordings of a Kinect playing back from within the patch. I was not in the large studio this weekend, so I did not have the physical space or humans to test 3 live Kinects simultaneously.I did about 40 different comparisons, but for me these are the most relevant results:
Test 1: all 3D objects optimized + playback from 3 OSC recordings + no background video: [mac:13.7fps] vs [pc: 21 fps] difference: 53%
Test 2: all 3D objects not optimized + playback from 3 OSC recordings + Prores422HQ background video: [mac: 11.2fps] vs [pc: 16.7 fps] difference: 49%
Test 3: all 3D objects not optimized + playback from 3 OSC recordings + MJPEG-75% background video: [mac: 11.8fps] vs [pc: 19.6. fps] difference: 66%
Test 4: all 3D objects optimized + playback from 3 OSC recording + MJPEG-75% background video: [mac: 12 fps] vs [pc: 20.5 fps] difference: 75%
Test 5: all 3D objects optimized + 2D particle animation + 1 live Kinect OSC sent to all 3D and 2D objects + MJPEG-75% background video: [mac: 10.6 fps] vs [pc: 17.8 fps] difference: 68%
I was surprised that using MJPEG for the background video was providing a significant better frame rate than Prores422HQ(and also 422LT) on the Mac and PC. I was also surprised that using independent 3D object files and texture maps for the ninety-three 3D objects on the Mac did not improve its frame rate, but it did on the PC. I tested this last result a few times.Thanks again,
Don
-
hi Don,
Thanks for the update. When you say the PC is “usable but unstable” what does that mean? You are confident to take it into presentation/production or there is a high risk of the system crashing or something else?
Best wishes
Bonemap
-
hi bonemap, no, I would not use this PC for any type of presentation. Initially Isadora crashed 50% of the time on opening with a frozen screen, but now it is about 10%. The control id's have odd vertical lines (see attached), it takes many minutes to save the patch, it often crashes while saving (and does not save), the patch comes to a complete stop while saving, and the sound player actor does not work (although sound from a movie file plays fine). I think this may be related to the Nvidea control settings. I am still waiting for a reply from Isadora support. Do you have any suggestions?
thanks,
Don
-
Normally I am working on the PC and I have never seen three of those four error messages.
It's not normal to have the problems you're having!
With respect to the "The file was not saved because it could not be written", this will happen if you're trying to save it to somewhere inside the C:\Windows directory, eg in the Isadora program folder itself. Is that where the project file is? If so you need to move it somewhere else. How many hard drives does this computer have? If just one, then keep the project and all the assets in the "Documents" folder or on the Desktop.
Is your patch ridiculously complex or would it be feasible to start a new Isadora project and remake it from scratch on the PC? -
Hi Mark, thank you for your suggestion. No, I was not saving inside of the Windows directory. I was saving in a user folder on the C disk where I had saved previously, with administrator privileges. When I get the save error, it doesn't mater where I try to save, it always gives that error. The computer has two builtin drives(C, D), and I have an external SSD(T). It is a very large patch, so I do not want to recreate it. Isadora crashes when opening, even without a patch, so I do not think the patch is the sole problem. This computer is running Windows 10 Home 64 bit version. Would the Pro version be an advantage? The i7-8700K CPU has 6 cores.
regards,
Don -
@dritter are your nvidia drivers up to date? Did you make any strange settings with them. They should be fine for Isadora out of the box, try reinstall the drivers and clean the settings. I have used windows a lot for shows and in general I feel it as reliable if not more so than mac. I have had plenty of shows with OSX just disappear, software exits no warning. With a PC I get some warning or odd behaviour if something needs attention and I can fix it before I go on. I would say that you did miss an opportunity in trying HAP Avi, in my experience it is the best performing codec with Isadora for windows (and I think it beats proress too)
Spout is a tricky beast, and again I think this is related to GFX drivers and or settings. I don't use spout, or syphon in shows, (I hate to have a chain of apps running a show on a computer, so I make my own software instead), but I know people do and don't have troubles, with up to date GFX drivers and clean system it will work fine. Did you disable the onboard GFX, I would definitely advise it if you are using spout, it does not like different kinds of GFX cards/
-
@dritter if Isadora is crahsing when you open it you have some problems that are not OS based, this is not normal. Where did the system come from? Is it rented? Do you know its history? When was the last clean install? I would at the very least, disable the onbard GFX< uninstall all nvidia drivers and install them new from scratch. As for the save, sure seems like a location/permission thing, maybe someone has made some "helpful" changes to the drive permissions, in general try stay inside your user space when working on windows, if you are not familiar with permissions just work inside the documents directory of your user, other areas on the c drive (not just in the windows folder) have different permissions.
-
Hello Fred, thank you for your suggestions. Yes, drivers are up to date. The PC is a rented gaming computer that I am testing before I buy a similar machine in the coming weeks. I do not know anything about its history. This is the model of the rented PC.
https://www.amazon.ca/gp/product/B075VSBNQZ/ref=ox_sc_act_title_1?smid=A3DWYIK6Y9EEQB&psc=1
I am saving the files to an external SSD, but suddenly I get the error about not having permission to write to that drive. When that error happens, I cannot write to any drive.
Yes, the builtin GPU is turned off. I selected the restore button on the video settings for the Nvidia yesterday and added Isadora to the program settings. Isadora is now working much better now, though it still crashes occasionally on a save and the control id’s and actors near the top of the screen are always scrambled. If you are familiar with the proper settings for the 1080Ti, I would appreciate you look at the attached screen grabs of my video settings.
I was able to convert my mov prores fiels to AVI HAP Q, and the result was a 6-11% increase over the MJPEG movies. On one test with optimized 3D objects and HAP Q background, the frame rate on the PC was 21.6. This same test on the Mac Pro was 12.6 using the Prores422HQ. The Mac Pro was returned to Apple yesterday because of a hardware problem, so I decided to test the patch on my 2015 Mac Book Pro(Radeon R9 M370X), and its frame rate on various tests was the same as the Mac Pro, and on some it was even better. The tests were done with using SSD clone of the system patch and media from the Mac Pro. This doesn’t seem to make any sense, but I tested it a few times.
I have been using Syphon for the past three years without any problems. I have had no problems with Spout over the past few days. Many thanks for your suggestions.
Regards,
Don -
@fred
Also, wanted to mention that the Sound Player Actor is not working, though there is no problem with sound from the movie player. Do you have any suggestions about that?
I read that some users where having problems sending continuous OSC data from Kinects into a PC. Right now, I am running a patch on a Mac that is sending 135 channels from a Mac to a PC through a router, each channel providing 30 numbers per second. It has been running for three hours without slowing down. The only problems I had was that the OSC Listener on the receiving computer is only recognizing channels 1-100. 101 and above is not recognized, though I can see it in the stream setup window on the receiving computer. This does not seem to be problem if the channel number is entered in the stream window with its associated header, but why is that not needed for channels 1-100? -
Unfortunately, I cannot answer on your particular settings because I have not the same machine, but I think its not on nVidia settings you can find the solution.
After I bought my MSI laptop, I fought 2 weeks to have a working machine so here some advice:
There is a lot of bloatware in gamer machines, very annoying for your task, mainly geForce Experience, Nahimic sound enhancer and any gamer hardware control as Red Dragon on MSI. It was very difficult for me to uninstall it and for some I could not, so I must deactivate it at startup.
Some solutions:
- buy a real workstation, from good brand, like HP or Dell. Its more expansive but is focused on your task. You can choose exactly what you want for CPU, GPU, RAM and SSD.
– with a gamer station like your link, make a fresh clean install of windows, made by a specialist, with all the dependency you need (visual studio, kinect SDK, nVidia drivers etc.).
– If not, take the time to suppress all the crap installed inside gamer machine, until it works properly. With mine, after the great cleaning all is working as expected.
As Michel says, group your displays in a compact rectangular setup, graphic cards like it.
Regarding Kinect, Processing is not the fastest and greatest kinect sender. I recommend you to use the free version of TouchDesigner to just receive the kinect info and send it though OSC, its really plug and play. I made a number of test and its really the more stable and efficient way to use kinect with Isadora on Windows. The Microsoft Kinect SDK is by a great amount superior to open-NI or free-Kinect. Feel free to contact me for precisions.
Jacques
-
@dritter rental computer is a disaster, I would not make this your barometer for windows experience.
OSC wise the network infrastructure on windows is fine for this much data and more, trouble other users are having is more likely to come from external infrastructure (cheap routers adaptors cables etc).
For your sound problem I am not sure, what card are you using, what mode, what buffer settings?
-
Sorry, I was too short about sound, my advice (at the moment)
The best way to drive properly sound with Windows is to use a good sound card (I recommend Motu or RME, Focusrite is the minimum, avoid M-audio or Behringer) with proper Asio drivers. Unfortunately, Isadora do not use Asio but use the windows sound system. You can try Asio4all but I have a mixed experience with and I disinstaled it.
Personally, I prefer to use proper sound software, mainly Ableton Live to manage all my sound and I use midi or OSC (via max4Live) to communicate. If there is sound with video, I route it from Isadora to Live. In Mac there is SoundFlower, in Windows at the moment I use Loop.be with mixed results. In Windows there is no aggregate devices, so it can be complicated, sometimes I prefer to output the sound from Isadora via the PC sound card and recapture it via my Motu and manage it in Ableton Live. There is a little loss in quality but you avoid all the windows problems concerning mixed sample and definition (48k vs 44.1k, 16bits vs 24bits) and mixed drivers. Its very difficult on windows to avoid glitch and scratch with sound. Principally avoid to use the same card with Asio drivers and DirectSound drivers, the results are completely unpredictable
On the performance I will play next Saturday in Lille, Video and light are managed from my MSI windows computer (no sound output) and the sound with my 13" MBP. All is working perfectly but there is no direct link between sound and images.
Jacques
-
@Fred
Hello Jacques and Fred, thank you for your suggestions. Now that I have looked at the results of the tests, I will definitely use a PC. A drawback to this PC is its very large size. How much slower would a PC laptop be with a GTX1080 compared to a desktop with a GTX1080Ti? I found laptops on Amazon with the GTX1080, but none with the GTX1080Ti. Also, how many video outputs can I get from a laptop with a GTX10180. I just spoke to Asus regarding their G703GI, and they tell me just one monitor.
Regarding audio, I am using a small external Behringer interface/mixer, but I also have a Focusrite that I will test. I have two Macbook pros running NI-mate in the setup, so I could also use them for audio. Jacques, are you sending OSC instructions from the PC to the Mac to control the audio? Also, how can I determine if there is “the crap installed inside gamer machines”?NI-mate is working just fine for me with 3 Kinect XBox 360s. I spent a few hours with Touch Designer a few days ago, but I read it does not work with the Kinect Xbox 360, which is what I have. I am reluctant to use the newer Kinects because I was under the impression that there is a limitation in the cable cable lengths for that model. I am using 20m USB extensions with the Xbox 360s with no problem.
I have been running the 135 channel to PC test for 16 hours, and all is fine.
Many thanks,Don
-
Concerning video card, the difference is not so great between 1080 and 1080TI, principally video memory (11 Go vs 8 Go).
The question is more about laptop and desktop. Laptop with 1080 have a great problem of cooling, so you have the choice of ugly 17" gamer beast with huge fan output and noise, or system adapted for laptop, mainly 1070/1080 MaxQ with reduced capacity to avoid throttling.
On laptop you have also not 4 discrete output, on the better one, as my MSI, you have 1 4K HDMI, 1 4K mini-DP and 1 Thunderbolt 3 (with the possibility to plug another 4K screen). With a Matrox tripleHead2Go, I am able to play 5 HD screens + the main one on laptop (1 on HDMI, 3 on mini-DP through Matrox, 1 on HDMI through TB3 hub). I had a look to the Asus, beside the size, its quite the same connection as mine, so, potentially, you can hook the same number of displays. Materially, you are limited to 4 display but Matrox is considered as one display for the graphic card, so you can avoid this limitation.
Concerning audio, you have to test. Concerning Ni-Mate, its really demanding for the computer and I found a great delay for kinect analysis. I made last week, during a class, a test between Ni-mate and Processing for skeleton analysis and Processing was much better but for skeleton you need kinect V1…
Sometime I use OSC instruction from PC to Mac to control audio, mainly with a kinect on the PC running TouchDesigner, sending skeleton data to Isadora and Ableton Live (with Max4Live OSC reception) on the mac.
The crap are all the software installed by the hardware builder, try version of Office, Norton anti-virus, Nahimic sound enhancer, nVidia geforce experience and many other. You can reinstall windows from windows parameters, suppressing all the not windows software. The best is to find a person able to do that for you.
Concerning TD, it works perfectly with kinect Xbox 360 (I have one). My setting when I use multiple kinect is to use NUC computer with TD for each kinect, sending parameters as OSC through wired ethernet. Is very reactive and I can do what I want with the infos, in Isadora, Unity, Processing or TouchDesigner, depending of the project. Yes cable is a problem with kinect 2 because its USB3 but the precision is much better, deep measurement is on 4000 steps cs 255 and the skeleton is much pore defined.
But is your test is fine, what else?
All the best,
Jacques