Im using skybox for some time but it has some issues with directories full of movies and also lacks the ability to change the size of screen independently. I will the describe each below.
I use the latest oculus rift version.
- The BUG, stuttering issue, i analyzed this one very well, pinning a folder full of videos (100+, inside folders) will make the app start to stutter, its not even using more cpu or gpu, its delays, its just starts to choke and never stops, it has small under second UI freezes constantly, not usable in that state, even if nothing is playing, if u try to play something then it just the same, the video playback constantly stutters.
Restart or waiting so see if it ends is not helping, it never stops, even after a restart it starts to choke again.
I think i found where the issue is, it is getting the thumbnails of the video files, but this function is blocking the whole UI thread for every video that needs to have thumbnail generated, in its nature this function is not designed well as it just blocks the whole UI and you can see it blocking even if its just one file, u can see it entering a folder with video, its just a moment (just one vid) but it is clearly visible, either the UI deforms or the touch pointer line stops for that duration.
The only thing that helps is to UNPIN that folder, it wouldn't be that much of issue if you dont have many videos in single folder or just browse folders without pinning, from what i see how the app works, i does not recursivity try to generate the thumbnails for all the videos in subfolders of current folder, it just tries to generate the thumb for video files in that folder, so it is much quicker, but still, you can see the stutter even for couple of movies.
But if you PIN the folder then the issue starts, as pinning does recursivity add every video from that folder and subfolders to the Gallery and that means generating thumbnails for each of then, and each thumbnail generation is a UI block.
But it doesn't help if u just UNPIN, there is some kind of queue from my observations and there is a need to UNPIN and restart to stop the queue from executing, but even then there are still some shutters, i did found out that the Cache also must have some kind of queue and if something was added to that queue and cannot be finished for whatever reason then it will keep trying to generate it and never stop.
The full fix is to UNPIN folder, clear the Cache and restart.
A proper solution would be to make the thumbnail generation functions asynchronous non blocking but with some kind of max generation retry limit, so it stops to try and generate the thumbnail lets say after 3 tries if it cannot be for whatever reason generated.
Non blocking thumbnail generation queue would also have a general positive impact on how the app works. I can even contribute if it is possible or help i any way to fix it.
- The RESIZE screen feature, this one is simple, i dont know why but every vr player has one way or another a issue with this, i just want to be able to resize and set the distance to the screen INDEPENDENTLY, right now it is impossible and i dont know why, there is only the SCALE option, but SCALE makes it so size and distance are changed together, if i SCALE to make it big, it always goes close, if i SCALE it to be smaller it is FAR away.
I cant set it FAR away and make the screen size HUGE or the other way around, small screen but closer.
Can we have INDEPENDENT screen size and distance options? SO that changing the size wont change the distance and vice versa.
To be honest this is the closest vr player to perfection, if u wound just fix those two things it would be perfect.