Is it possible to do this with Paradox? (Windows Screensaver)

Hello!

I have currenty developed a screensaver for Windows in “pure” WPF. It works sort of ok, but performance is not very good and if I run it on a laptop (for instance) with two screens the toll on the gpu is substantial and it sort of defeats almost the whole purpose of a screensaver. :smile:

So, I began looking at alternatives! Now, I should mention that this WPF application I made is my very first application ever in Visual Studio .net so I am not an expert in any way, do mostly web stuff otherwise.

I quickly came upon SharpDX, but after looking at samples and trying to do some very “easy” things on my own I have decided that the complexity level is too high for me at this point.

So then I discovered Paradox, which seems nice! I understand from reading about it that it builds on the WPF and .Net platform, but development is done in a separate tool? That is fine either way ofc.

Now, I need to figure out if certain things are possible to do for my little screensaver, so here goes my requirement list :stuck_out_tongue:

  1. Need to be able to start with arguments (like /c /s and /p for preview) (also looked at Unity 3D but that seemed to be impossible to do atm)

  2. Need to be able to access folders elsewhere on the drive (for images to use with the screensaver).

  3. Need to be able to do multiple windows, one for each monitor the user may have. Each of these windows displaying no borders or “style” (so it looks like fullscreen).

  4. Is this the best place to find information regarding how to do things? Or is there some other place I should turn to for information regarding Paradox?

  5. Is it overkill to use a game engine to make some 2D transitions?? :smiley:

Thanks for reading!

Yes, it’s probably overkill to use a game engine. But I don’t see a reason it can’t be done technically, except perhaps that I’m not sure about the engines currently ability to render to multiple windows. That may or may not be possible right now, even if it is possible, it’s probably quite a technical exercise. I’ve never managed to get multiple windows rendering. But I haven’t tried that hard.

In regards to Paradox, you have access to the .NET framework or to WinRT, whatever you are using, so you have full access to the system (As far as i know)

Have you looked at using Direct2d in SharpDX ? I’ve started using it just recently, and it’s super easy to use, that might be a lightweight solution for you.

Also there is a new framework from Microsoft called Win2d, I think it is experimental at the moment, it looks like a managed wrapper for 2d, check it out here : https://github.com/Microsoft/Win2D

Thanks for responding!

After looking at the “Hello World” sample and realized it was around 40MB and loads of file I quickly came to the conclusion that it is indeed overkill. :slight_smile:

Win2D looks rather nice, wasn’t able to run the samples due to Visual Studio saying it was “UNSUPPORTED”, maybe it’s not good enough to have the free Express version. Nevertheless, it only targets windows “store” apps and I’m not really keen on limiting myself to that just yet.

Tried doing some things with SharpDX but there I also ran into problems running samples and I found it a bit tricky to find information from a more “beginner” point of view. I would not agree on your “super easy to use” :stuck_out_tongue: I guess I will need to try harder.

Haha, fair enough regarding ‘ease of use’. I’ve had plenty of pain trying to make SharpDX do what i want, it is pretty full-on while you’re learning it, and even now, I can still get caught out. Have you considered just doing a straight .net application, if you want to make a lightweight screen saver that would probably be easiest. It depends on what you want it to do. Once you get a hold of the windows rendering surface (or wpf bitmap or whatever it’s called) you can just spit out your own byte data as you please.

Sometimes the simple things are the best.