Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Raspberry Pi 3!

Discussion in 'General Discussion' started by Arowx, Mar 1, 2016.

  1. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    I am fascinated with the speed of development of the Pi (and other low cost computer platforms), it is an offshoot of Mobile technology, but it is making leaps and bounds at a super low price point ($35/£27).

    WIRED ARTICLE -> http://www.wired.com/2016/02/latest-raspberry-pi-gains-wi-fi-powers-keeps-35-price/

    Pi 3 -> https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/

    It has Wi-Fi built in now and a new 64 bit quad core processor about 50% faster than the previous model.

    SOC: Broadcom BCM2837 64bit ARMv8 quad core Cortex A53 processor @ 1.2GHz with dual core VideoCore IV GPU @ 400 MHz supporting OpenGL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode. Capable of 1Gpixel/s, 1.5Gtexel/s or 24GFLOPs with texture filtering and DMA infrastructure)​

    Just makes me think how long before you can make a game and can drop it onto it's own dedicated computer for the price of a floppy disk/mix tape.

    But I think Unity are dropping OpenGL 2.0 support.

    Mind you the Pi does need a better GPU at least Vulkan or DirectX 12 compatible and more memory to run a Unity game.
     
    RavenOfCode and Martin_H like this.
  2. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    I still haven't gotten around to testing it myself, but Unity applications can be deployed to a Pi 2 via the Windows Universal App system. (Windows IoT on the Pi 2) The performance may not be enough to make the majority of games viable, but we'll see how it develops. Unity has plenty of options for someone looking to make lean and low-tech games.
     
  3. cl9-2

    cl9-2

    Joined:
    May 31, 2013
    Posts:
    417
    I have a Raspberry Pi 2 running Raspbian Jessie with the desktop OpenGL drivers enabled, and Chromium 47 installed. Samsung's Hello Racer demo actually runs reasonably well at around 20-25 fps, but the rendering quality is far from good.

    I can actually get very basic Unity WebGL demos running on the RPi 2, but again, not so good rendering (due to the OpenGL driver) and not so good performance (likely due to the Unity engine and/or V8 engine on ARM).

    Raspberry Pi 3 will very likely be able to run mobile quality Unity WebGL games with very good performance.

    Which should be okay as long as they get proper WebGL support working on mobile.

    They'll likely continue using the VideoCore IV GPU which has an open driver.
     
  4. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    WebGL 2.0 is working it's way through beta which should give WebGL games a boost in graphics as it is based on OpenGL 3.0 so Pi definitely needs a GPU boost either API support or hardware.
     
  5. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    No one in their right mind would expect a $35 computer to have comparable graphics to a high-end rig. If you are thinking of using a Pi to produce larger-scale 3D games, think again. Saying that the Pi needs a GPU boost is inaccurate. No one is going to use it to make next-gen style games.

    There is still real value in a device like this for smaller-scale games, possibly focused on 2D. But that's a different kettle of fish.
     
    Schneider21 likes this.
  6. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    So you're saying that a 64 bit quad core chip with a OpenGL 2.0 gpu could not drop to a dual core and boost the gpu power to a Mali or PowerVR level. We are just talking about a single silicon chip here not a high end TitanX GPU just enough GPU to provide Vulkan level API features or at minimum WebGL 2.0 / OpenGL 3.0.

    And the reason people are not using it to power 3D games is probably because it does not quite have the GPU power and memory at the moment (compared to a mobile phone or tablet).

    Although it would be so cool to be able to add on a tiny dedicated GPU card.
     
  7. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,804
    I still can't see whats with the interest or the dream using these for gaming? I have rpi 1&2 + few spark cores for home automation but even with 10-20x performance I would not even think of using them for gaming. Consoles are cheap and there are dozen of cheap gaming devices with controllers.

    Is it the tinkering spirit for life thing?
     
    gian-reto-alig and MV10 like this.
  8. cl9-2

    cl9-2

    Joined:
    May 31, 2013
    Posts:
    417
    Not likely going to happen, unless Raspberry switches to the more expensive and closed Adreno GPU's and uses the open source Freedreno driver (that was reverse-engineered from the binary blob).
     
  9. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,145
    I highly doubt that a single ARM core is even remotely equivalent to a weak GPU core. Graphics cores are specialized for the tasks they handle. If an ARM core were an equivalent then there wouldn't be any real point in having GPU cores when you could just increase the ARM core count.

    Why would you try to target the Raspberry Pi 3 for $35 when the Amazon Fire tablet for $50 is superior? Or really any of the other small board computers. Remember the Raspberry Pi is not the only line of small board computers available. It's not even one of the stronger ones available.
     
    Last edited: Mar 1, 2016
    angrypenguin likes this.
  10. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    The ball is basicly in Microsoft's court, they need to make a DirectX driver for the GPU then we'll be good to go.
     
  11. Aras

    Aras

    Unity Technologies

    Joined:
    Nov 7, 2005
    Posts:
    4,770
    Uhm what? Don't get me wrong, I'd love to, but there's no way we can do that in this universe for at least something like 3-5 more years.

    That said, the GPU in RPi is definitely not the best hardware component it has :)
     
    RavenOfCode and Martin_H like this.
  12. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Roadmap states OpenGL 2.0 support removal???

    March 5.4 release:

    Jun 5.5 release:

     
  13. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    Yes, ever since the Raspberry Pi first made a splash in that hobbyist space, the market for micro-computers and hobbyist circuit boards has exploded. Now there's plenty of options with many different focuses. Tiny specialized computers are now a sizable space for competition, and the choices are much better than they used to be.

    That said, I do understand the appeal of being able to use the Raspberry Pi for game development. It is an entire computer on a single chip, for an extremely reasonable price. The inclusion of wireless capability built into the chip with the Raspberry Pi 3 just sweetens the deal. For $35 you can build a dedicated gaming machine. It can serve as the basis for a homebrew arcade machine, or be used for prototyping a game that spans multiple physical machines. There's a lot of potential in that space for experimentation, and having such a cheap computer available is a boon to such efforts.
     
  14. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,145
    Only if you don't mind the excessively underpowered VideoCore IV GPU.
     
  15. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Maybe I just need to eat some humble PI and drop all this C#, Unity3d, asm.js, WebGL, DirectX 12, uber-performance, 3D, next gen game engine stuff and get back to some retro pixel action, on hardware that would struggle to run your mobile phones OS?

    Like this guy:



    LOL how cool is that (the arcade machine not the lighter / smoking bad).

     
    Last edited: Mar 2, 2016
    GarBenjamin likes this.
  16. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,507
    Only for desktop...
     
    RavenOfCode likes this.
  17. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    It's not even remotely close to commercially viable. But it is also undeniably cool. There's a lot that can be done with under-performing systems. You just have to adjust your expectations vis-à-vis performance. Some of the most memorable games in history have come from the Z80 processor. (and it doesn't get much more low-tech than that)

    That's where the value of a computer like the Raspberry Pi comes from, and why it exists in the first place. Not to fuel the latest and greatest games, but to be a nice, flexible platform that people can play around with. It was made first and foremost to be a platform for learning. It needed to be (and still needs to be) cheap in order to make it less of a commitment to experiment with it. And you can't have cheap and next-level performance in the same package. Truly cheap requires dated, but proven, technology. Trying to focus on pushing it further in terms of performance is missing the point, and attempting to make the platform something that it's not.

    The reason we're seeing an upgrade to the Raspberry Pi ver 3 is simply because the technology has caught up, and the new version can be produced at the same price point as the older version. This is as it should be.
     
  18. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
  19. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
  20. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,145
    What's the range going to be like though? Will it be more than a few meters? I've been using one of these with mine.



    Definitely. A Mali-450 GPU is far better than the VideoCore IV. That hardware is very similar to an Amazon Fire tablet.
     
  21. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,549
    This one seems a bit more interesting to me for $75 from the same company.

    http://ameridroid.com/products/odroid-xu4


    • Samsung Exynos5422 Cortex™-A15 2Ghz and Cortex™-A7 Octa core CPUs
    • Mali-T628 MP6 (OpenGL ES 3.0/2.0/1.1 and OpenCL 1.1 Full profile)
    • 2GB LPDDR3 RAM PoP stacked
    • eMMC5.0 HS400 Flash Storage
    • 2 x USB 3.0 Host, 1 x USB 2.0 Host
    • Gigabit Ethernet port
    • HDMI 1.4a for display
    • Operating temperature range: approx. -10C to +45C
    • Size: ~82 x 58 x 22 mm (including heat sink)
    • Fully software compatible with ODROID-XU3 and XU3-Lite
    • Low cost, small form factor, high performance!
     
    Ryiah likes this.
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,145
    Continuing upwards in price we have the MinnowBoard Turbot for $140.

    http://store.netgate.com/Turbot.aspx
    • Intel Atom E3826 (Bay Trail-I) Dual Core @ 1.46GHz w/ Intel VT-x
    • 2GB DDR3L-1067
    • Intel HD GPU (DirectX 11/OpenGL 4.0/OpenGL ES 3.1)
    • 1x SATA II 3Gb/sec port
    • 1x Gigabit Ethernet port
    • 1x USB 3.0 host port
    • 1x USB 2.0 host port
    • 1x MicroSD slot
    • 1x microHDMI port
     
  23. Aras

    Aras

    Unity Technologies

    Joined:
    Nov 7, 2005
    Posts:
    4,770
    Correct! And OpenGL 2 is an entirely different thing from OpenGL ES 2.0 :)

    The roadmap basically says, that soon enough when you are on Mac/Linux, you won't be able to use 10 year old GPUs. Mac/Linux will require OpenGL 3 soon (and on Windows you wouldn't be able to run OpenGL 2 soon either; but then almost no one runs OpenGL on Windows to begin with).

    The roadmap says nothing about dropping OpenGL ES 2.0, or any of the platforms.
     
  24. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Darn the Kronos groups naming conventions why didn't they call it "Mobile GL" so confusing. At least their new API has a different name. It's much harder to confuse Vulkan, than Open GL 2.0 and Open GL ES 2.0.
     
  25. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
  26. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,549
  27. IgorLT

    IgorLT

    Joined:
    Jun 13, 2016
    Posts:
    1

    What did you mean here?
     
  28. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Which bit, that I'm fascinated by how much processing power we can get for a dollar?

    Or that with an improved GPU the Pi could be a great low cost Unity gaming platform platform in the future?
     
  29. KnightsHouseGames

    KnightsHouseGames

    Joined:
    Jun 25, 2015
    Posts:
    850
    I just wonder if they would ever make a lightweight version of the Linux Unity editor for Arm chips, so that you could develop games on a Pi. The whole idea of the Pi originally was to be a platform for teaching kids about computers, and Raspian already ships with a bunch of Python development stuff, so why not get them on Unity early?

    I just hope they make a Raspberry Pi 3 Model B with 2GB Ram or more, then it would pretty much be a real, useable computer for most intents and purposes. I mean, whats the point of going to 64 bit if you aren't gonna increase the ram?
     
  30. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    LOL the youth of today!



    Or my first computer, 1k of RAM with a 16k RAM pack (with velcro strip to stop wobble and memory crashes)!
     
  31. KnightsHouseGames

    KnightsHouseGames

    Joined:
    Jun 25, 2015
    Posts:
    850
    RavenOfCode likes this.
  32. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,145
    Yet the computer that truly dominated the 8-bit era had 64KB.
     
  33. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    GarBenjamin likes this.
  34. KnightsHouseGames

    KnightsHouseGames

    Joined:
    Jun 25, 2015
    Posts:
    850
  35. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    Got a 48k Spectrum as soon as it came out (from Boots the Chemists of all places) - was my pride and joy all though high school, until I went Atari ST.
     
    hippocoder likes this.
  36. VeggieVampire

    VeggieVampire

    Joined:
    May 18, 2016
    Posts:
    8
    OLGV likes this.
  37. morak4

    morak4

    Joined:
    Aug 18, 2016
    Posts:
    10
    Far out, man!
    I've tried the RPi 3, and it works like a charm! I tried a Unity game, Chameleon Run, on it. It is super fast.
     
  38. morak4

    morak4

    Joined:
    Aug 18, 2016
    Posts:
    10
    I've seen and made better handheld consoles than that. Though, the miniature retro-boy look is pretty cute.
     
  39. JamesArndt

    JamesArndt

    Unity Technologies

    Joined:
    Dec 1, 2009
    Posts:
    2,913
    That's awesome! This really gets my interest. So does anyone in here have any unique ideas or twists in how this could be used with Unity for the end consumer. My first thought is as an Android micro console dedicated to games you'd preload to it or funnel to the device via a network. Then again, the cost of the pi3, the screen, the buttons would add up and you'd need to be able to make a profit on it to be sustainable.
     
  40. OLGV

    OLGV

    Joined:
    Oct 4, 2012
    Posts:
    55
    Running a Unity 5.3.4 32bit build on a RPi 3 running Windows 10 IoT.

    The performance is max 2fps for 3 spinning cubes (no lights, fancy shaders, or anything special, stripped down to the max). Even the "Made with Unity" splash screen animation runs at 1-2fps.

    I was running much heavier 3d geometries built in OpenFramewoks running on Rasbian.
    I think Windows 10 IoT is a totally NO, NO for Unity projects, at least at the moment.

    Will try the Android route.
     
    RavenOfCode and JamesArndt like this.
  41. OLGV

    OLGV

    Joined:
    Oct 4, 2012
    Posts:
    55
    Moved the project on Unity 5.4.0, RPi 3 running Android installed per @VeggieVampire 's link.
    Turned ON lights, shadows, trails... WOW... :eek:30fps

     
    JamesArndt, Ryiah, sonofbryce and 2 others like this.
  42. BrotenStudios

    BrotenStudios

    Joined:
    Feb 13, 2014
    Posts:
    155
    Have you tried the https://github.com/Microsoft/graphics-driver-samples/ drivers for Windows IoT on Pi3? It s still a work in progress. But it will give a limited accelleration support for VC4 GPU under directX.
     
  43. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    I've never truly understood the hype of the Raspberry Pie and things like it.
    I mean technically all the little nifty things you buy is stuff that's already been made, so it has already been done.

    So I don't exactly see how it's considered inventing unless you are personally creating the circuit-boards,chips,etc, not buying premade parts and sticking them together. Because chances are, if the part was made, the intention of the part was the intended outcome in the first place.

    So if you buy a part to make it output HDMI, well if you bought the HDMI Output, how is that exactly inventing a new product that utilizes an already mass produced thing that has been used in over a billion other devices. If a billion other devices haven't done anything new with it, I don't see how it can be any more special than the other companies who have made trillions in our little lifetimes.


    Just as a lot of you say, you can't compete with AAA companies because they have the big budgets to pay the people.
    So what is the Raspberry Pie offering that could make you a future in something... At least in game design you have that slight little chance you could make it into something....


    Sorry I'm not trying to hate on it, I just don't understand the value to it. yeah I could put an OS on it, create an OS, make it output video... But I can just go to Bestbuy and buy a new monitor that outputs better video for maybe a few bucks more and go spend 600 dollars on a computer that is worth more than anything that a raspberry pie can produce. I mean at least I've never heard of a beast gaming PC made from a Raspberry Pie before. E.G. (64 gigs of ram, 12 gig Gfx Card, 8 core processor), etc.
     
    RavenOfCode likes this.
  44. BrotenStudios

    BrotenStudios

    Joined:
    Feb 13, 2014
    Posts:
    155
    You are correct in most professional projects a company would print a custom PCB with the needed chipsets etc. This ends up cheaper and tailored to the specific needs on the product they are making. But indie enthusiasts typically do not have the resources to do such.

    Enters the SoC market. Indie hardware makers typically use the devices like a RPi in home automation and robotics. This was the intended market. Using the RPi SoC they have a well built and low cost core computing module to expand from. It features high quality manufacturing and parts for only 35$. Linux has the most development on the system. Android and Windows IoT are new to it, and still have development needed. In the case of Windows IoT it is a light weight OS, without the standard UI from Windows Desktop or Mobile markets, and as such the UI must be programmed by consumer. So they are making some thing new with the OS.

    Lately the low cost and expand-ability of these boards have seen a rise in classic game systems emulation, and custom handheld game system manufacturing. Mostly Linux has been used as it has better support for OpenGL ES on the VideoCore 4 GPU.

    The concept of Unity Game Dev's wanting to deploy to such a device is probably not a want for profit but mostly for enthusiast interest. It's a challenge to test and push the capabilities of hardware. And that said I have found the RPi 3 to be much inline with the PlayStation Vita performance wise from Unity Games. In the past Unity developers wishing to break into the low powered handheld game market, the PlayStation Mobile program offered developers to deploy game packages on personal retail PS Vitas. This became a basic entry point for console indie developers. But with Sony shutting down the program, I could see why Developers would be seeking an alternative platform.

    And regarding if the RPi could actually be used in a major product or Unity software. It actually can. I have it as the core hardware in a WiDi Touchscreen gamepad. I use IoT with custom software for UI. Because of the limitations of the Windows Standard Driver currently in use in IoT. OpenGL 3D acceleration does not exist. So I can not run 3D on the system, but I can run a 2D sprite game or 2D sprite UI. What I do is run a Unity Universal Appx program at 15fps lock. The UI provides touch input and all standard game controllers inputs. Those are replicated over a RPC between the device and host PC. Allowing the Host PC to run the game, and the device to present MINI MAPS, and touch UI Inventories and player network chat interfaces. All as a companion to the main Host PC. The RPi has IoT drivers with acceleration still in development, once stable they will introduce a Direct X with a slimmed down feature set appropriate for the GPU. But will allow 3D to also be rendered on the device.

    This said the RPi 3 I would consider the LOWEST level of hardware for any game related project. a Samsung Snapdragon SoC or a Tegra X1 SoC would provide far increased performance and and allow most Unity games to run on them. But the price point is a lot heavier for indie users.

    As for RPi comparison to PC systems, don't it's not even the same product line of device. It's not intended for PC use. It has a completely different market, aimed and people wishing to manufacture. Not purchase technology.

    For many people that have been in the coding IT industry for a 'few' years now. The specs of the system feel like no problem to us. Main because we have coded games, driver, or even an OS on hardware such as Intel 486 or Pentium processors. Or systems with only 16MB of RAM and a VGA 4MB VESA card to work with. The RPi is a challenge to us to stretch our minds in seeing what we can accomplish in the current days of computing on such limited hardware.

    Most current gen PC game development little consideration is placed on the specs of the system. The games are built and expected to run simply because most PC gamers have such a powerful system that in inefficiencies can be over looked. But once moved into development on console systems you are presented with a much tighter constraint on the system resources. And must develop primarily the skills in ensuring that GPU, CPU, and even IO are constrained to be as efficient as possible. Learning to code on these low powered SoC systems like the RPi and to get something functional on them helps you develop those skills of pushing the user experience to the max while using a limited set of resources for the code to run on. That ability I personally feel is a KEY component to a good developer.

    If I had to developers I was looking to higher for my company, and one of them could demonstrate that they successful wrote an application that ran on a arm cortex a53 video core 4 system, versus some one who's experience is only writing for x64 systems with massive amounts of RAM and latest gen GPU's. I would pick the first guy. As I know his coding skills are good enough to work on projects with strict hardware constraints.

    In fact game development for consoles only 10 years ago was on hardware far much less powerful then these SoC's. If not for the GPU, the RPi 3 would actually be more powerful then a PS Vita. The PS Vita is a system still supported on Unity for PlayStation Partners. So I'd say that the RPi 3 is not an obsolete hardware set.

    You will never be able to deploy a AAA PC game or latest and greatest Mobile games on the RPi 3 SoC. But that is not the point. The point is to exercise in what and how good of content CAN you deploy on this 35$ system board. In the past developers would squeeze ever byte of system resources to push to the maximum what they could do with the limited hardware available to them. I believe this is a lost skill set in the current developer market place.

    I personally believe we have two major categories of Game Developers in Unity.
    • the C#/JS Scripters
    • and the C/C++ plus C# Coders.
    Scripters simply add scripts previously made or create basic scripts to call pre-made classes from libraries. And have little regard for how or why they function or how much resources they are using etc. They simply work, so they accept it a such. They typically would require to wait for a class to be patched or fixed if they encounter a issue.

    Coders work more on writing underline plugins or code much more tightly then Scripters. Have a broader knowledge of systems, and can work with a broad set of system resources. Able to debug and monitor the resources they use. And repair or write new classes and functions to expand how the applications work.

    RPi 3 development would be more tailored to the 'Coder' side of Developers and be outside the realm of interest of 'Scripters'. It would also be of no interest to those wishing to release a game with the latest graphics levels, or selling a game to make money. This is more an intellectual exercise of the mind, not for a retail purpose.
     
  45. BrotenStudios

    BrotenStudios

    Joined:
    Feb 13, 2014
    Posts:
    155
    For experimental purposes I grabbed one of our RPi 3 units. and connected headphone, a 800x480p display, and a Xbox One S controller via Bluetooth. On the Pi I loaded a Windows 10 IoT 10.0.4393.187 customized OS image. (this build is running the Windows Standard Driver for Display, NO GPU).

    I got the Unity 2D plat-former demo and loaded it in Unity 5.5 Pro Beta. Configured a 3 sequence splash screen. and dropped the resolution of sprites to conserve memory on system.

    The new splash system loaded perfectly with a 10 second timed sequence. and loaded instantly into the game. Audio plays perfectly. FPS is a little low running at only 8-12 fps. But game is playable, this shows that a basic 2D platform or RPG game is possible on Windows IoT (no GPU). Game runs at 103 MB ram used and 50-89% CPU use.

    Should be noted this is without the GPU functioning, and with no heat sync on CPU, so the CPU is throttled to manage heat dissipation. Disabling Debugging and mastering the app improved performance. With performance disconnected and debug off increased to 10-15 fps. Major factor is still not having the GPU experimental drivers for acceleration.

    GameBoy Advanced style/quality 2D sprite games at 800x480p res would be do able with windows standard driver on Pi 3.

    Edit: as pointed out later we can use the Screen.Resolution (400,240,true); in a script and divide the native resolution of a 800x480p panel and lower the res to WQVGA mode. This allows for 20-25fps. With Gameboy Advanced games having been (HQVGA) pixel resolution. This gives us double the res of GBA and close to the 265x224 of NES, and the SNES of from 256x224 to 512x448. This is all still done in Microsoft Standard Display driver, once we get working DirectX GPU acceleration driver should see a bump in performance.

     
    Last edited: Sep 16, 2016
    RavenOfCode likes this.
  46. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    A very useful and informative account. If I wanted to really throttle the graphical limitations to boost performance, I would be able to. Rendering at even lower resolutions and using even simpler graphics could possibly provide a functional experience, even if it was dramatically scaled back.
     
  47. BrotenStudios

    BrotenStudios

    Joined:
    Feb 13, 2014
    Posts:
    155
    Correct we have two things we can do.

    1. Design around the Windows Standard Drivers limitations of not being able to even turn the GPU ON!
    2. Get the in development drivers for the Video Core IV GPU working, and see a boost in performance and enable 3D.
    But yes if you scale back how much time scripts are running, how much art you are instancing. Then yes it can do games. The Audio processor grabs and plays all SFX and Music perfectly with no hick ups. So are only issue is improving frame rate via optimizations in design and code.
     
  48. BrotenStudios

    BrotenStudios

    Joined:
    Feb 13, 2014
    Posts:
    155
    One thing to note @RichardKain is that Universal Apps on the Windows IoT are rendered in fullscreen at the displays native resolution. So if you connect a 1080p display. Performance goes down drastically. connecting for example a 280p LCD to the DSi port could yield significant improvements.As a test I connected a 1080p monitor to the RPi 3 and the same Appx game gave me 2 fps. So screen native resolution plays a critical role in designing for the RPi 3.

    Also when building a project do not use the GPIO pins to poll the controller inputs digitally. Attach a microprocessor to handle the analog and digital inputs, then connect that to the Pi. Directly accessing the GPIO pins can cause performance slow downs as the system pauses to read the inputs. So the real-time inputs are best left to the external microprocessor.
     
  49. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    Is the native screen resolution rendering a limitation of all Universal Apps? Is there no way in the construction of a Windows Universal App to specify a different rendering resolution? While I am loathe to leave scaling up to the screen hardware, rendering at lower resolutions is one of the go-to strategies for throttling graphics, and optimizing performance. (especially on lower-end hardware)

    I know from experience that it is possible in other Raspberry Pi programs to render at lower resolutions. But it might not be an option in Windows IoT, I haven't done any testing on Windows Universal Apps.
     
  50. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,507
    No, that would be silly. Use Screen.SetResolution and render it at whatever you want. It just defaults to native resolution.