Question / Help Redcue How Much RAM Image Rotation Uses

BatedUrGonnaDie

New Member
I was just curious if there was any way to reduce how much ram the image rotation source used. Currently what happens when you have to many images is that ram usage goes up until my system runs out of memory and OBS crashes. I'm not sure if its possible besides reducing how many images that I put in the rotation, but it would be nice to be able to use all of my images that I have been collecting instead of just ditching some.
 

FerretBomb

Active Member
Sounds like he's talking about an image slideshow, especially if all of them are loaded into memory as a part of the source init, instead of dynamically loaded as each is due to be swapped-in. Could see that eating lots of memory if the images are large, animated, or both.
 

BatedUrGonnaDie

New Member
Do you have a crash log? You mean animated gifs?
Animated gifs make it crash with less files, but even just using jpg's and png's will make it chew up ram until it crashes. I can get a crash log in a bit seeing as it happens every time.
Edit: So apparently I no longer have enough images or animated gifs to crash from lack of memory, but with animated gifs in a rotation my fps dropped to 1, and eventually crashed. Try just putting a bunch of images in a slideshow to see what I mean for the other issue.

Sounds like he's talking about an image slideshow, especially if all of them are loaded into memory as a part of the source init, instead of dynamically loaded as each is due to be swapped-in. Could see that eating lots of memory if the images are large, animated, or both.
Yeah, the image slideshow source. Currently when I have a large number in the slideshow it slowly increases ram usage until I run out of ram and then obs crashes.
 

Attachments

  • OBSCrashLog2014-04-18_1.txt
    3.8 KB · Views: 26
Last edited:

Jack0r

The Helping Squad
For a very big list of files you might want to use an external image viewer and window capture.
Jim might correct me, but I guess OBS keeps them loaded in RAM to serve them as fast as possible.
 

BatedUrGonnaDie

New Member
For a very big list of files you might want to use an external image viewer and window capture.
Jim might correct me, but I guess OBS keeps them loaded in RAM to serve them as fast as possible.
I've tried that in the past but the image slideshow works out better for me since I have to screencap my capture card preview (can't wait for happauge support btw) so I run out of monitor room fairly quickly. The slide show source also seems to scale the picture to fit the box that I constrain it to which is fairly nice since my image sizes vary greatly.
 

FerretBomb

Active Member
If you have Aero turned on, Window Capture grabs from the off-screen buffers. Doesn't matter if another window is overlapping or even entirely on top of one you're capturing, so long as you don't minimize it (which stops updating/refreshing the window on the OS level, so that capture will 'freeze' as soon as you do).

My own bigger problem with that solution would be the inability to maintain the alpha-channel, when capturing from an image viewer program.
 

BatedUrGonnaDie

New Member
If you have Aero turned on, Window Capture grabs from the off-screen buffers. Doesn't matter if another window is overlapping or even entirely on top of one you're capturing, so long as you don't minimize it (which stops updating/refreshing the window on the OS level, so that capture will 'freeze' as soon as you do).

My own bigger problem with that solution would be the inability to maintain the alpha-channel, when capturing from an image viewer program.
Huh, never knew that because I have Aero disabled through windows because I found myself able to get a few more FPS in game with it off. I'll have to turn that back on and test it out. Thanks for the info.
 

FerretBomb

Active Member
Yeah, Aero has a minimal in-game effect, and actually speeds up Window Capture IMMENSELY under OBS. If you aren't streaming, the little boost could be OK. But for streaming purposes, Aero ON is the way to go... unless you're forced to fall back to Monitor Capture as a last resort.
 

BatedUrGonnaDie

New Member
Yeah, Aero has a minimal in-game effect, and actually speeds up Window Capture IMMENSELY under OBS. If you aren't streaming, the little boost could be OK. But for streaming purposes, Aero ON is the way to go... unless you're forced to fall back to Monitor Capture as a last resort.
I tried turning Aero on, but unfortunately it does not work with Arcsoft's Capture program. All I receive is a black box, but when I disable Aero I get a preview fine. Oh well, not much I can do about it now.
 

R1CH

Forum Admin
Developer
How many is too many images? OBS does decode them all, but it would be hare to use up all your RAM unless you have huge animated gifs (each frame is like a separate image).
 

BatedUrGonnaDie

New Member
How many is too many images? OBS does decode them all, but it would be hare to use up all your RAM unless you have huge animated gifs (each frame is like a separate image).
I have 2.4k jpg's and png's that eat up all ram. And then in a different slideshow I have 500 animated gifs that straight crash obs after a while of 1fps on the preview window.
 

Jack0r

The Helping Squad
Well, first of all, it is meant and written to handle images and do slideshows. It probably just loads the next image into the ram while the current one is shown, and if this takes longer as expected either waits before it switches or shows a part of the image or whatever function they added for this case.
Now R1CH might correct me, but I guess OBS does have a more simple SlideShow "Plugin" that, also as r1ch explained, decodes animated GIF's for example to make sure a smooth playback is guaranteed.
If you want to improve the included SlideShow option you can take a look at the github or you wait for the rewrite and make a feedback request to handle bigger slideshows or improve the new slideshow when its ready! In the mean time, just use irfanview if possible, or maybe split your slideshow into different ones on different scenes for example.
 

BatedUrGonnaDie

New Member
Well, first of all, it is meant and written to handle images and do slideshows. It probably just loads the next image into the ram while the current one is shown, and if this takes longer as expected either waits before it switches or shows a part of the image or whatever function they added for this case.
Now R1CH might correct me, but I guess OBS does have a more simple SlideShow "Plugin" that, also as r1ch explained, decodes animated GIF's for example to make sure a smooth playback is guaranteed.
If you want to improve the included SlideShow option you can take a look at the github or you wait for the rewrite and make a feedback request to handle bigger slideshows or improve the new slideshow when its ready! In the mean time, just use irfanview if possible, or maybe split your slideshow into different ones on different scenes for example.
Ah, well that makes sense. To be honest I could live with the gifs being broken, it just sucks for the static images. I guess breaking them up over multiple sources would be the best move.
 

karolyi

New Member
+1 here, I'm using a lot if images as a slideshow and it eats up a lot of ram (we're talking 10's of gigabytes). lucky I have 64G ram.

waiting eagerly for the rewrite.
 
Top