I want to play back a big texture (5760 x 2160) spreaded on 6 screens via the Ati HD 7850 Eyefinity 6 using the ATI catalyst software to combine the 6 screens to one big desktop.
I am using the Player EX9.texture Node with DDS DXT1 textures on one big renderer.
When I started the system, everything went surprisingly well: played back in 60 FPS.
After ca. ½ an hour, the framerate dropped suddenly to ca 20 FPS.
So I thought something was full, maybe the RAM or the GPU RAM.
I closed vvvv and restarted the computer. But then it didn’t work any better → Framerate @ ~20 fps. I never got back on 60 fps again.
Just to check if i fucked up the hardware I tried the whole thing again on a different computer, with the exact same technical specs. Exactly the same: First ½ hour works like a charm, after that it runs only 20fps.
Some observations:
When @20 fps the “Loaded” Pin of the Player Node shows “0”. → Are the dds files too slow transferred from HDD to RAM?
In the Resources Monitor the standby ram is filling up really fast, when i start vvvv. → Is this a problem?
GPU-Z shows that only 400 MB of the 2GB GPU-RAM are used.
the tty renderer shows: “00:00:03 * : can’t draw whole geometry at once: * preprocessing vertices of any kind of billboards or onesided particles is not yet supported. World is camera dependent.switching to slicewise rendering.” → has this something to do with the problem?
EDIT: PerfMeter says the Problem is: CPU / preparegraph
Does anyone have an idea what could help?
Did anyone have a similar scenario?
Thank you.
When you say same problem after restart and waiting a while you mean it works fine for half an hour or does it start with 20 fps and is loaded output is false?
When I switch the machine off, wait for a while and turn it on again, it starts with 60 fps, after a few seconds it drops down to 20 fps and loaded output is false.
And how many textures are you preloading? If you play them sequentially (and not randomly) you probably won’t need to preload more than four. The less frames you preload the lower the general overhead will be. I’d also recommend to set the Threads Texture to one as you’re loading DDS files which get decompressed on the GPU anyway. This pin is more important for CPU bound decompression like JPEG etc.
The drop in performance after such a long time is weird. I never had that problem. To me it also sounds like a hardware problem.
If the whole sequence fits into RAM, it is sometimes slow on the first loop and the intriguingly fast subsequent later loops, as windows is auto-caching files as much as it can. So make sure to test with the final amount of frames. But it’s never the other way round.
Your overall load approximately equals one fullHD stream of uncompressed images, so it shouldn’t be a problem off a revo drive. If the problem persists, try splitting your video in 2 or 4 regions, as smaller textures usually transfer more smoothly …
we are testing now with a sequence length of 15000 Frames
We have been preloading 15 Textures. Changed it to 4, like you recommendet, Problem is still there.
We tried with splitting the big texture in 2 smaller ones (5760x1080) and 6 smaller ones (1920x1080).
Exactly the same Problem for both versions: Runs the very first time perfectly @60fps for 30-45 min, after that it drops to 10-20 fps.
If you restart the computer after that, it is for a few seconds on 60 fps then drops to 10-20 fps. This happens both when you start it again immediately or after several hours.
So it can’t be the temperature…
Changing directory or renaming the files doesnt help also.
Problem appears as well in 32 and 64 bit version.
Is there any buffer where the player puts data in? Is there a possibility to force flushing of this buffer?
may it has something to to with some strange garbage collection handling of your revo drive? after copying a lot of files to any ssd drive at some point it will start an internal garbage collection process to make writable blocks available again. with a amount of copying 15k files this could take some hours. the problem is that you have no chance to control or even see whats going on inside your ssd…
performance wise there is also a huge difference between conusmer and enterprise ssds (which has an guaranteed constant read rate until dead - and of course a much higher price)
Duration io says it took 19ms to read one file from the hard drive. That’s certainly too slow with a theoretical frame rate of 50 fps. Can you do a perf read test of your ssd before and after the frame rate drop and see if it keeps its advertised read speed? Which must be at least 360mb/s in your case.
We recently also considered the ocz revo for a project. But all hardware providers we asked for an offer advised against it because of quality issues.
After having a lot of hassle with another PCIe SSD (Mushkin Scorpion Deluxe) – which has problems with the current intel chipset Z97 – we settled for a dedicated PCIe raidcontroller and four “normal” SSDs in Raid0 which works quite nice.
After some more testing the revodrive really seems to be the problem.
Our solution is to split the Texture into two à 5760 x 1080 Px.
We can play back these two streams from two different SSDs without a problem in 60 fps.