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
  4. Dismiss Notice

Solution for testing game performances on very low-end chipsets?

Discussion in 'General Discussion' started by Magnesium, Feb 28, 2021.

  1. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    Hello,

    I am currently trying to figure out how to do performances checks and debug for low-end or integrated graphic chips. I am working on a 2d game and altough i am not targeting gamers with low-end PC, i want it to run with adequate performances on computers without a dedicated GPU or very low-end gpus.

    Is there an easy and confortable solution to do this. By confortable, i mean that of course i could buy a used laptop, but that would mean making a mess on my already bloathed work desk and work on a tiny low-quality screen, not even sure if it would handle one of my QHD screens, and i'm not expecting this to be an easy work so it will probably mean working like this for a fair amount of hours.

    So i've tried Virtual-box and of course even with guest addition and 3d acceleration enabled i get about 2 fps on the executable. There are cloud services specifically designed for gamers such as Shadow but it wont help much. What about cloud services such as Amazon or Windows Azure, or any others, maybe there are services that allow to run a remote desktop with some gpu power to run graphical apps?

    I'll welcome any idea on the issue.
     
  2. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,759
    If you don't want to get a laptop, maybe consider instead a mini-PC? I can't speak to other brands, but I have an old Zotac Zbox I've used for testing low-spec hardware and it's small enough to not worry about space. You'll have to sacrifice a monitor input but generally monitors have multiple even on the low end. Most mini-PCs even stand vertically for a smaller desk footprint.
     
    Martin_H and Ryiah like this.
  3. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,325
    Well, the solution is buying hardware for the low end PC. Basically, build a Frankenstein from used parts.

    Virtual Box is ... NOT good for anything with 3d acceleration, because support of virtual GPUs is not solid. As you noticed you'll get 1/10th of the performance and that's if you're really lucky and run 10 to 20 years old games on it.

    Working on a tiny monitor can be solved by using either a HDMI switch (to reroute signal into your main display), or anydesk. There are also KVM switches which allow you to reroute input and display signal between multiple machines.

    Regarding desk space, you can mount the frankenstein on a wall, or put it into the box.

    Using a small form factor for test machines is also an option. One of the smallest form factors is Pico-ITX, I believe.
    https://en.wikipedia.org/wiki/Pico-ITX
     
  4. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    One solution i tought about yesterday is simply using a remote desktop. This way i can have one or more machines pluged wherever whitout a screen and access it over the network with regular keyboard, mouse and screens. I did a quick test with a Surface Pro i've got from work and altough the framerate isn't ideal, i was able to play a 3d game remotely in decent conditions.
     
  5. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,878
    Testing should not be done over remote connections etc. The smart way to go about this is to do what everyone is recommending and build dedicated hardware. You cant properly emulate/simulate this sort of thing, and you definately dont want to muddle up your testing results by adding remote connections on top. You need to be sure the data you get from testing is accurate, which it wont be the moment you start to do something like that.
     
    JoNax97 likes this.
  6. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    We have created a game without low end hardware. We optimize as much as we can without degrading gfx. We have some players in our discord with 1070 etc that can be a final test bench. Analyzing game performance on high end hardware gives pretty good clues how it will perform on low end hardware too.
     
  7. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,878
    I have some hardware that is old enough to only support up to SSE 4.1, and that tends to be a really good rig to test on for working out how old or low end stuff will handle things. I dont know if I would actually buy a dedicated piece of hardware just to test low end, but if I was confident that I can make the money back then I would consider it a worthy investment
     
  8. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    It all depends on how far you want to support old hardware :D I checked our hardware survey. And intel 8700k is the leading one, together with various 8 core AMDs like 2700x.
     
    MadeFromPolygons likes this.
  9. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,516
    When your "high end" and "low end" are all enthusiast grade desktop PC hardware, perhaps. Many games need to scale across different types of GPUs, or to systems with very different bottlenecks.

    Also note that "low end" is not the same as "old". New machines ship with Intel GPUs in them every day. And there's consoles and mobile devices to consider, too.

    The hardware survey for your VR game where you only care about people with top-notch gear? Context is important.
     
  10. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Offcourse its easer when our low end is mid tier for others. But same can be applied. Though if you miss features like MMX or dedicated Coprocessor its harder :p
     
  11. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,516
    No it can't. Performance doesn't scale linearly between differently designed hardware. Phone GPUs aren't just little tiny 3090s, they're comparatively stronger and weaker at different things.
     
    Martin_H likes this.
  12. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    No,. I meant within similar hardware. My 5950x can bench performance for intel and zen
     
  13. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    I'll have to actually install Unity on the machine to check, but i think the included perfs meter should be fairly accurate. It's not for making simple playtest but actually working on the project while benchmarking it.

    My final benchmark is not players with a gtx 1070 or even 1060, it is the basic laptop you get for $600. I have a gtx 1080 ti myself and with this hardware, numbers have no meaning since i'm always over 300 fps.
     
    angrypenguin likes this.
  14. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    FPS means nothing, look at frame times.
    Also look at draw calls etc.
     
  15. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,137
    Alternatively I would think one of those mini stick PCs would be perfect for the job.

    https://www.amazon.com/Computer-x5-Z8350-Pre-Installed-Windows-Bluetooth/dp/B08BNQLGYM/
    https://www.notebookcheck.net/Intel-HD-Graphics-Cherry-Trail-Benchmarks.140902.0.html

    If you want newer integrated graphics this device has Intel UHD 600 but it's no longer a stick.

    https://www.amazon.com/CHUWI-Gemini-Lake-Quad-Core-processor-Expandable/dp/B082VZP76P/
     
    Last edited: Mar 1, 2021
  16. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    In my HTPC i have a HD630 which probably is equal to what you find in a 600 USD laptop. Compared to a 1080 TI

    https://gpu.userbenchmark.com/Compa...-Intel-HD-630-Desktop-Kaby-Lake/3918vsm178724

    The 1080 TI has roughly 3,64 times better performance across the board. That can be a pretty good estimate when you compare. So your 300 fps will land around 82 fps (Very rough estimaste offcourse)

    huge spread though

    upload_2021-3-1_12-58-28.png
     
  17. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,137
    Nothing from that website is reliable as they're known to be biased. PassMark has the Intel HD 630 raw performance rated at 1156 while the 1080 Ti is rated at 17865. That is far more than just 3.64 times.
     
    MadeFromPolygons and MDADigital like this.
  18. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Passmark is synthesized test though while the other one is actual games. Which usually is better indication But if its not correct data as you say then its worthless.

    edit: "My" site lists the 3d power of 1080 TI as 26 times better while yours list raw power as 15 times.
     
  19. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    I don't think this says much for 2d games. Some things just simply don't required a dedicated gpu while others will.
     
  20. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    2D games in Unity uses same graphics APIs though.

    edit: 300 fps seems a bit low for a 2d game on a 1080 TI. I got several thousand fps with my 3090
     
    MadeFromPolygons likes this.
  21. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    How I solve this is to give out a special version of my game to the discord community . It starts one of our scenes but runs through a predefined path. I record frametimes and were on the path. Then I can see were my players have problems, I can place the camera on the same place. Often its a Umbra problem. (Though the terrain is a mess too)
     
  22. BattleAngelAlita

    BattleAngelAlita

    Joined:
    Nov 20, 2016
    Posts:
    400
    Why not just use iGPU and downclock CPU to something like 800mhz?
     
  23. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,137
    Completely depends on the game. Like @MDADigital mentioned they're using the same APIs but more importantly a 2D game can make use of shaders just like a 3D game for special effects like fancy lighting and shadows.
     
  24. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    This is the output of the Unity integrated metrics, playing in the editor performs pretty bad compared to a binary compilation. It is still helpfull for development purposes.

    Yeah but at some point you need to have the appropriate hardware yourself and do hundreds of tests while continously making changes. You can't have someone giving you feedback everytime you change a line of code.

    Indeed, that why i plan on giving the player the possibility to disable some visual effects. I'm working on a precision platformer, having a consistent high framerate is more important than having tons of lights and shaders.
     
  25. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    If I can identify a problem area I can optimize that area without testing any further on lower hardware
     
    MadeFromPolygons likes this.
  26. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    I believe you, but i'm totally new at working on graphic applications so it will take me a lot of fiddling before gettings thoses skills ;)
     
  27. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,878
    Also, are you profiling using the actual profiler or just using the stats in the game window? One is much more accurate than the other, and you should look at ms not fps
     
    Ryiah likes this.
  28. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    My first metric actually is the performances my graphic designer gets and she has a really crappy PC, but we live about 800km appart so i can't use her computer to check.
     
  29. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,878
    Ok, but are you actually using the profiler as I said, or the stats in the game window? Like - this stuff is important. One is very much not the other, and you need to be using specifically the profiler or you will not be getting very accurate or useful "metrics" at all

    Secondly, you need to attach them to the player and not do it in editor. Otherwise much of the profiling is useless.
     
  30. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,759
    I've struggled to get even the most modest of projects to run right on sticks, but the form factor above them tends to match a low-end laptop from 5-ish years ago really well, which I think is a more reasonable hardware target for 2D stuff.
     
    Ryiah likes this.
  31. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    If you're targeting basically old laptop hardware, I'd actually use an old laptop. You can connect it to a monitor and keyboard/mouse, and put the laptop completely out of the way.

    If you instead try to creatively use some low spec hardware in ways it wasn't intended, you may end up on several wild goose chases hunting down problems that only appear on that hardware, but real customers will never encounter.
     
    NotaNaN, Ryiah and MadeFromPolygons like this.
  32. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    This right here. The OP's CPU is likely to have an integrated Intel HD GPU. You can have it enabled alongside your actual GPU by going into the motherboard BIOS settings. Then you can change which GPU each individual executable will use in Windows.

    Some boards require something to be plugged to the iGPU display out to activate it, tho.
     
  33. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,759
    Zotac and similar mini-PCs are literally just low-spec laptop hardware put into single boxes so they don't come with the cost of a keyboard or monitor. They're typically used as set top boxes or grandma computers.
     
    Ryiah likes this.
  34. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    I'll have to check that out. My main screen is display-port only, i can't plug it to the hdmi output.
     
  35. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,516
    You can with the right cable, and they're pretty cheap if ordered online.
     
    Ryiah likes this.
  36. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,325
    HDMI to DisplayPort adapters exist. Basically, cables usually can convert signal between DVI, HDMI, and DisplayPort connectors. VGA (if you for some reason still have it) are a different beast, but VGA to digial converters exist too.
     
    Ryiah and MadeFromPolygons like this.
  37. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    Honestly i think you undermind a little too easily the idea of using remote deskops connect easily to a bunch of testing devices without making a mess in the workspace. I also see that there is an ip target in the profiler, i'll have to check that out.
     
    Last edited: Mar 2, 2021
  38. Neto_Kokku

    Neto_Kokku

    Joined:
    Feb 15, 2018
    Posts:
    1,751
    Yeah, remote desktop should work if hooking up another PC to a monitor is all you have issues with. Nowadays Windows fully supports streaming 3D accelerated graphics via remote desktop, we use it a lot at work.
     
  39. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Laptop's typically have drastically different thermal performance and power delivery than mini PC's. This will result in much different performance in actual use between the two, even if the specs look the same on paper.
     
  40. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,759
    This is an extremely niche consideration when working at this level of abstraction from touching hardware like that and you know it. The solution is "good enough" as I've used this solution for years. This is my primarily low-spec test platform, even.
     
  41. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Here's the issue I see. Mini PC's, stick PC's, they aren't built or intended for gaming. Because of that they aren't tested under those conditions. That increases the likelihood you'll run into an issue specific to the machine you are using for testing, which doesn't apply to the customer machines you are intending to simulate.

    If you're already doing it and it is working great, I'm happy for you. But it is a real consideration, which can waste large amounts of real time chasing what are actually non-issues created by your test environment. I've seen exactly this occur many times.
     
  42. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,137
    Isn't this assuming that the customer has a machine intended for gaming?

    According to the Steam Hardware Survey approximately 8% of users have Intel GPUs. Since Intel has yet to release their upcoming dedicated graphics hardware it's a safe bet that they're all integrated graphics which is equally not intended for gaming yet is clearly being used for that.
     
  43. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    I use my Intel gfx for one thing, DXVA. That it can do excellent, wouldn't use it for anything else :)
     
  44. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    Mini sticks etc are not intended to do much. Forget about running games, first i need to be able to run Windows and Unity decently to get some work done.
     
  45. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,137
    QuickSync. :p
     
    MadeFromPolygons likes this.
  46. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Not really. Any basic laptop will have a very general use case that QA at the company will test for. It is likely that the first person to launch a game like app on the laptop would not be a customer, but instead someone in QA.

    But when you instead have a device with a very specific use case, like a stick PC, I wouldn't count on QA running such a test. Even if they did run game related testing, and found issues, there is a much higher likelihood that the issues would be ignored and the product shipped anyway, because it doesn't affect the expected use case for the product.
     
  47. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    For encoding I use my RTX 3090, insane performance in software that support RTX :D
     
  48. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,516
    Why do you need to run Unity on your test devices? Make a build on your workstation, deploy it to the device (ie: copy the files over somehow) and run just the game on there.
     
    MadeFromPolygons likes this.
  49. Magnesium

    Magnesium

    Joined:
    Sep 14, 2014
    Posts:
    178
    Because i don't want to make a build, i want to work on the project in real time and be able to check in two clicks what changes has which effect. Making a build each time i make a change would be a huge waste of time. I'll be just fine if i'm able to target the kind of laptop my graphic designer uses and plays on, you really can't go much crapier than that.
     
    Last edited: Mar 3, 2021
  50. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,516
    That doesn't work, though. Editor performance is not the same as build performance, so it will not give you reliable results.

    Unfortunately it's a requirement for many target platforms. Can't run the Editor on a phone or a game console. And you can't effectively run it on a really low spec PC, either.

    With all of that in mind, you're better off setting things up so that you can deploy once and test multiple potential changes. It takes a little effort but ends up being far more productive than repeatedly building and deploying stuff.