MonoGame on RaspberryPi

I recently got a radpberrypi3 and was playing around with windows10iot and MonoGame this weekend. Kudos to to MonoGame team for all your hard work on the uwp platform!

The next step in this project, is the performance was pretty poor. The frame rate was single digits for even a cornflower blue. The pi3 hardware is beefy enough that it shouldn’t be that bad. Does win10iot not support hardware acceleration or something? Has anyone gotten MonoGame running out of the box on raspbian with decent frame rate?

Win10iot is cool, but if I cant figure this out the next step is probably buy one of those $30 android set top boxes.

Cheers!

I would assume RPi4 was around the corner… [Well I am holding out on buying an RPi for that very reason]

There are a few other more powerful [and pricier] Win10IoT boards out there albeit larger in board dimensions too, but they pack more punch, have you looked at them?

@dellis1972 did a proof of concept of MonoGame natively on the Pi some time ago. I believe it was rather hacky but rumours did circulate about him looking at it again :smiley:
#DropsDeanInIT :stuck_out_tongue:

Raspberry Pi 3 was only launched about six months ago.

Yeah, the next step up win10iot device is the MinnowBoard, which is much beefier. But it is relatively expensive and not even sure if the hardware is the problem. Like the pi3 has similar specs to the Ouya, and I didn’t have similar frame rate problems on that platform.

Hmm just tried something and I think it has something to do with display resolution… I’m going to try setting this project to 720p and see how it performs. Will keep yall posted.

Cheers!

I probably should have double checked, I might have confused my reading of early detail reports with the time around its launch instead of its actual release, my bad, hmm I suppose I should consider the RPi 3 for now then… :grin:

Thanks guys,

Valentine

I am confused, was that for me too?

What Simon was referring to was MonoGame running on the original Raspberry Pi and the hacking required to get hardware-accelerated OpenGL on it. The situation with Pi 3 is quite different with Windows 10 IoT. I don’t recall anyone trying MonoGame under Raspbian on the Pi 3.

So this reply posts as a reply and a new post? has me confused, also he referred to another inside a reply on my post, a bit confusing for me as a semi new user :stuck_out_tongue:

I might grab an RPi soon thanks to this thread now, @KonajuGames

So I take it that this is a viable thing… and even more on more powerful boards, I can imagine this being interesting to put together some demo unit computers with quirky touch screen setups at conventions and the like as the boards would be more cost effective vs traditional desktop computers as well as forcing you to optimise to the extreme extent.

On another note, Intel Compute Sticks are exceedingly affordable! [UK Amazon Link as I am in the UK]

The Discourse forum software does have an odd reply structure.

I would check performance on the Intel Compute Stick before investing in several for demo purposes. The Atom processor along with Intel HD graphics are not highly performant components. Its suitability may well depend on what type of game you are demonstrating.

Right, this is awkward… it adds the last selected quote highlight to the top so here goes lol
I might be in the chance to try one of the one linked above as a charity that I do ad-hoc I.T. support for may consider taking one in [And moving all their systems to it as I move them towards a central server/client setup], However hopefully someone on YT must have ran PCMARK or 3DMark on one by now… if not, I suppose a small benchmark tool run would not hurt for a few minutes…

Quick search brought up Minecraft [Original] @ 20~40fps @1080p https://youtu.be/rKt5oqWVJsM?t=7m23s

But I agree, casual games might be more a target for this platform, less so modern Metal Gear Solid-esque games :stuck_out_tongue: but still, pretty impressive, however for a convention, an external fan may be required I think.


Among other quirks :smirk: , Yup have to agree with that. :tea:

Ok, had a chance to play around with this some more. Here’s a list of my findings:

Win10IOT defaults to 1080p, which is too high res for even a cornflower blue on the pi. It was getting less than10fps, and cpu pegged. win10iot runs an admin dashboard on port 8080, where it is easy to do stuff like change device resolution. I changed it to 720p, but was still only getting around 20fps. I started getting decent performance when I downgraded to 848:480. Running a relatively heavy game looked 60fps-ish and cpu running around 75%. Sure, a low resolution like that isn’t very crispy… but I’d argue that MonoGame shines at simple little 2d games, and a little fuzziness won’t really make much difference. Just make sure to make your game resolution-independent using a package like ResolutionBuddy or MonoGame.Extended and it will still look the same at 16:9 aspect ratio.

So in conclusion, raspberrypi+win10iot+MonoGame is totally viable. It’s a good solution for an embedded project where the requirement is that the device boots right into the game when plugged in.

Cheers!

Was that on Pi 2 or Pi 3?

This was on a raspberrypi3.

I noticed there is a “GPU Performance” section on the dashboard, but it was empty and said “No data available.” Poor performance could be a bug in gpu driver for win10iot or something.

I tried the RP3 the week it came out on Win10 and found the same thing… the framerate was pretty bad, but it did work. I chalked up the bad performance to just early drivers and the beta version of Win10 on there at the time. I am surprised that it is still as slow now.

Setting the game back buffer to a lower resolution should help a lot if it is a fillrate issue.

I have done some tests with monogame 3.5 under raspbian with a voxel model with 30000 faces at 40 fps.

video:

source code:

1 Like