Hardware Testing Guide — Transcript
Full transcript
- 0:00Hello.
- 0:00>> Hello. Hey, everyone.
- 0:01>> Hello.
- 0:01>> Hello.
- 0:02>> Wait, you're doing the intro?
- 0:04>> No, no, I'm sorry. You go for it.
- 0:06>> Hello. This video is about how and why
- 0:08to test Roblox games on a variety of
- 0:10devices, what to expect, and what to
- 0:12look for.
- 0:13Roblox runs on everything from phones to
- 0:14desktop computers, which means different
- 0:16screen sizes, resolutions, primary and
- 0:18secondary control schemes, thermal
- 0:20characteristics, power usage,
- 0:21performance levels, and more. Let's get
- 0:23into it.
- 0:24>> Hey, everyone. It's Andrew from Roblox.
- 0:26You just heard from my friend and
- 0:27colleague, Han. The two of us dug up a
- 0:29handful of test devices, and today we're
- 0:31going to look at all of them. Along the
- 0:32way, we'll cover how to think about
- 0:33device testing on Roblox in general.
- 0:36Here's the agenda.
- 0:43>> Why test on hardware?
- 0:44>> [music]
- 0:45>> While Roblox has a ton of tools to test,
- 0:47monitor, and analyze performance,
- 0:49getting your hands on the actual
- 0:50devices, especially devices that mirror
- 0:52those of your target user base, is
- 0:53essential to understanding how your game
- 0:55actually plays.
- 0:56>> We're not just talking about FPS, memory
- 0:58usage, crash rates, but also user
- 1:00experience, input and controls, visuals,
- 1:03and even just figuring out if your game
- 1:05is enjoyable in a different form factor.
- 1:07The device emulator in Studio is great
- 1:09for checking user interface and
- 1:11controls, but it doesn't simulate
- 1:13performance and has [music] dramatically
- 1:15inflated memory numbers. It is no
- 1:17substitute for testing on a real device.
- 1:19>> Absolutely. Device testing must be an
- 1:21ongoing process throughout development.
- 1:23[music] If you wait to test on a real
- 1:24device until your game is feature
- 1:26complete, you'll almost assuredly have
- 1:27to redo work that you were happy with.
- 1:29The best path is to build and test,
- 1:31build and [music] test, and build and
- 1:32test.
- 1:36>> Most Roblox players are on mobile, and
- 1:39in nearly all games and experiences,
- 1:40[music] low end mobile devices are a
- 1:42huge chunk of the ecosystem. Let me pull
- 1:45some numbers from various real-world
- 1:46games.
- 1:48In both popular and growing games, the
- 1:50most prevalent devices are Android
- 1:51phones and tablets with between 2 and 4
- 1:54GB of RAM.
- 1:56Here are a handful of examples from some
- 1:58games with over 1,000 concurrent
- 2:00players.
- 2:01These aren't exact figures and vary by
- 2:03game, but roughly speaking, 65% of a
- 2:06game's players might be on Android with
- 2:0860% of those players having between 2
- 2:11and 4 GBs of RAM.
- 2:13Then maybe 35% have between 4 and 8 GBs
- 2:16of RAM and 5% have more than 8 GBs.
- 2:19>> The remaining players are typically iOS,
- 2:21followed by Windows, and then other
- 2:23platforms. There are exceptions, of
- 2:24course, such as highly competitive games
- 2:26or games built specifically for VR or
- 2:28console, but these are useful
- 2:30generalizations.
- 2:31>> For today, we have the following array
- 2:32of devices: a low-end Android phone,
- 2:35mid-range iOS phone, high-end iOS
- 2:37tablet, Windows gaming handheld, and a
- 2:39high-end macOS laptop.
- 2:45The first stop when testing performance
- 2:47is the overlay. On mobile devices, you
- 2:49can see that the overlay is quite
- 2:51limited, though.
- 2:52On Windows and macOS, seen here, we've
- 2:54got some additional detail, particularly
- 2:56control shift F2, which shows not just
- 3:00FPS, but draw calls. For more
- 3:02information on draw calls, see our
- 3:03performance optimization video.
- 3:06As some people are incredibly sensitive
- 3:07to drops in frame rate, whereas other
- 3:09people barely notice, so even the basic
- 3:12overlay is useful for finding problems
- 3:14in your experience.
- 3:15If you get persistent dips below your
- 3:17target frame rate in one area after
- 3:19performing a certain action or even just
- 3:21when looking in a particular direction,
- 3:23you should probably investigate further.
- 3:25>> But, of course, a frame rate dip only
- 3:27tells you that there might be a problem.
- 3:29It doesn't tell you where the problem is
- 3:31or what the problem could be. To
- 3:32investigate further, you need more
- 3:34granular information. You need to know
- 3:36each task that ran as a part of a frame
- 3:38and how long it took to run.
- 3:39>> That's right. You need my favorite tool,
- 3:41the micro profiler.
- 3:42>> But first, using the micro profiler
- 3:45requires an understanding of the
- 3:46difference between frame rate and frame
- 3:48time.
- 3:49Frame time is how long it took a frame
- 3:51to render on screen, generally measured
- 3:52in milliseconds. Frame rate is the
- 3:55number of frames rendered on screen,
- 3:56generally measured in frames per second,
- 3:58FPS.
- 4:00Lower frame time means higher frame
- 4:02rate. Divide 1,000 milliseconds, 1
- 4:04second, [music]
- 4:05by frame time to get frame rate. The
- 4:07micro profiler deals entirely with frame
- 4:10time.
- 4:11In general, you want the bars to be a
- 4:12nice even height. Tall bars indicate
- 4:15frame time spikes, where you'll feel a
- 4:17hitch [music] when you play.
- 4:18>> We're looking at Beyond the Dark here
- 4:20largely because it's challenging to run.
- 4:22In fact, the developers explicitly
- 4:24recommend against running it on mobile
- 4:26devices, and you can probably see why.
- 4:28This Samsung Galaxy S8 from 2017 is
- 4:32well, struggling.
- 4:33Frame rate tends to be between 10 and 20
- 4:35FPS, which means frame times of around
- 4:3750 to 100 milliseconds.
- 4:39>> When we check the micro profiler from a
- 4:41powerful laptop, it's night and day.
- 4:43It's basically locked at 60 FPS, which
- 4:45means frame times of 16.67 milliseconds.
- 4:48>> If I can interject quick
- 4:49>> Interject away, Andrew.
- 4:51>> To be clear, we're not dunking on this
- 4:52phone. It was state-of-the-art at time
- 4:55of release, and its screen still looks
- 4:56terrific to this day.
- 4:58We're playing a demanding game at
- 4:59maximum settings, and the phone is using
- 5:01less than 10 watts of power.
- 5:039 years later, it still feels very
- 5:05modern and very capable.
- 5:07>> Unlike mobile devices, you can run the
- 5:08micro profiler directly on Windows and
- 5:10Mac OS with control F6 or command F6.
- 5:13Rather than pausing and trying to
- 5:15navigate it here, though, consider using
- 5:16the dump menu and examining the HTML
- 5:18files at your leisure.
- 5:20Within these files, you can find device
- 5:21information in the info menu. But, we
- 5:24recommend organizing your micro profiler
- 5:26dumps in folders and hanging on to them
- 5:27for a while. Maybe rename them to
- 5:29indicate the scene. And after you make
- 5:31an optimization or change something
- 5:33about your game, you can drag and drop
- 5:34the old file into the new one to compare
- 5:36the two.
- 5:37>> Wait, wait. Uh
- 5:38say more about that.
- 5:39>> Andrew, didn't you show me this? When
- 5:41you compare two files, you get a flame
- 5:42graph that shows the difference between
- 5:44CPU and memory usage between two [music]
- 5:45scenes. So, it's easy to see if your
- 5:47change helped or hurt your frame times.
- 5:49>> Yeah.
- 5:50>> You had a whole video on this.
- 5:51>> I did, yes. Just making sure you watched
- 5:53it.
- 5:53>> Despite the name, the miscellaneous
- 5:55section of the info menu has some very
- 5:57interesting information, specifically
- 5:59display size and draw size.
- 6:02Display size indicates the output
- 6:04resolution, which is usually the same as
- 6:06the device's screen resolution, but not
- 6:07always. And draw size indicates the
- 6:10resolution that Roblox is rendering at.
- 6:12In addition to graphics quality, Roblox
- 6:14automatically lowers its internal render
- 6:16resolution to improve performance.
- 6:19See here how the iPhone 13 Mini is
- 6:22rendering at 1218 by 562, [music]
- 6:25which is a little more than a quarter
- 6:26its display resolution, indicating that
- 6:29it, too, is struggling to stay at a
- 6:30consistent frame rate.
- 6:32>> Most players use the automatic graphics
- 6:34quality setting, which scales graphics
- 6:36up and down quite drastically to try to
- 6:38maintain device performance. Lighting,
- 6:40shadows, draw distance, texture quality,
- 6:42and particles can all take a big hit
- 6:43during these swings. If you're trying to
- 6:45get an apples-to-apples as you make
- 6:47changes to your game, choose a specific
- 6:49manual quality level. Otherwise, you
- 6:51might make changes, test, and think the
- 6:53[music] changes didn't improve
- 6:54performance when the reality is that
- 6:56your performance gains were obscured by
- 6:57the automatic improvements to graphics.
- 6:59[music]
- 7:00>> Another important point to account for
- 7:01when testing is device thermals.
- 7:03>> [music]
- 7:04>> Most devices that don't have fans, such
- 7:06as phones, tablets, slim laptops, are
- 7:08able to run at their highest performance
- 7:10levels for anywhere from 30 seconds to
- 7:1230 minutes, but eventually they struggle
- 7:15to dissipate all that heat and they slow
- 7:16[music]
- 7:18down.
- 7:19Sometimes by as much as 40%.
- 7:21>> A good example is the Galaxy S8, where
- 7:23our frame rate started around 16 and
- 7:25drops to about 14 after 5 [music]
- 7:27minutes of play.
- 7:28It might not seem like much, but it's a
- 7:30drop of about 12%. Actively cooled
- 7:32devices like our Windows handheld can
- 7:34maintain their performance levels more
- 7:35[music] consistently. Here's some quick
- 7:37footage on how this game looks and runs
- 7:38on a variety of devices.
- 8:01>> Hans said it earlier, but it's the most
- 8:03important point in this video. Testing
- 8:05must be an ongoing process throughout
- 8:07development, where you change something,
- 8:10test, encounter a problem, troubleshoot
- 8:12using the microprofiler, and repeat.
- 8:15Looking at the microprofiler dump for
- 8:17each device, the big takeaway for this
- 8:19experience is that it's super heavy,
- 8:21especially the lighting and shadows.
- 8:23>> [music]
- 8:24>> It's not a competitive game and has a
- 8:25fairly slow pace, so we can get it into
- 8:28a playable state on the iPhone 13 mini
- 8:30if we use the automatic quality setting,
- 8:32but a lot of the ambience is lost. See
- 8:34here how it's just brighter and less
- 8:36atmospheric as quality drops.
- 8:38>> [music]
- 8:38>> If you were testing this game on a
- 8:40low-end device during development, you'd
- 8:42have to make some choices around what
- 8:43devices you wanted to support and at
- 8:45what level of fidelity.
- 8:47>> Besides performance, it's important to
- 8:49test how your game feels across multiple
- 8:50form factors. If the screen size makes
- 8:52it impossible to read anything, or if
- 8:54your controls are stuck behind your UI,
- 8:56or if your game's just really
- 8:57uncomfortable to play on mobile, none of
- 8:59your performance metrics really matter.
- 9:01As Andrew mentioned, the Studio's device
- 9:03emulator is a great tool to quickly
- 9:05check your screen size ratios of how
- 9:07your game might look, but emulation can
- 9:09tell you something's visible, and only
- 9:11physical testing can tell you if it's
- 9:12playable.
- 9:13>> It's easy enough to optimize for a mouse
- 9:15and keyboard when testing in Studio, so
- 9:17in this section we'll focus on things to
- 9:18look out for with your mobile devices.
- 9:20Think about the following. The average
- 9:22session time for some of the popular
- 9:24games we looked at is between 10 and 15
- 9:26minutes, and this holds true across
- 9:28different genres and different player
- 9:29sizes.
- 9:31Can you comfortably play your game for
- 9:32more than 10 minutes at a time on a
- 9:34mobile device? Consider your button
- 9:35placement, where your UI elements are,
- 9:38how often you might need to reach across
- 9:39the screen. The standard mobile button
- 9:41UI often feels very natural to players.
- 9:44Does your experience introduce any UI
- 9:46elements or menus [music] that deviate
- 9:48from that standard?
- 9:49>> What Andrew is getting at is that user
- 9:51experience is your priority. Besides
- 9:53inputs and menus, check if you can
- 9:55easily read your UI on different
- 9:56devices. The in-studio device emulator
- 9:58can help here, but nothing helps you
- 10:00understand the look and feel better than
- 10:01the real thing.
- 10:03There may also be some rare cases of
- 10:04your UI or text elements loading in at
- 10:06different times on slower devices, which
- 10:08could be difficult to catch on your
- 10:10development computer. You'll also want
- 10:11to test in real-world environments, so
- 10:13try testing on slow Wi-Fi or cellular
- 10:15data to get a sense of how the majority
- 10:17of players will be interacting with your
- 10:18experience.
- 10:19Make sure to verify that elements, even
- 10:21basic ones like movements, input
- 10:23controls, interaction with the world,
- 10:24look and feel the way they should. Check
- 10:26that any calls to the server or updates
- 10:28to data stores or network calls work.
- 10:31And if they don't work or delayed, think
- 10:34about ways they gracefully fail that
- 10:35won't impact the player's experience.
- 10:37Since a majority of users are on
- 10:39lower-end devices, you'll also want to
- 10:41ensure that your rejoining logic is
- 10:42fairly painless for that user.
- 10:45Any other gems of advice, Andrew?
- 10:47>> We should also call out some quirks we
- 10:48found during testing on these devices
- 10:50that felt important to flag.
- 10:52Keep in mind that these and other unique
- 10:55situations can occur when you try to
- 10:56test on a wide range of devices.
- 10:58>> Oh, definitely. When I was testing on
- 11:00the iPhone, I noticed the notches and
- 11:02dynamic islands could obscure parts of
- 11:03the screen. Both the iPads and iPhones
- 11:05also had rounded corners, which might
- 11:06affect the elements that are close to
- 11:08the edges. The iPhone and the iPad have
- 11:10a lot of system menus that are
- 11:11accessible by swiping from various sides
- 11:13and corners.
- 11:14>> [music]
- 11:14>> You should refrain from implementing
- 11:15buttons or interfaces that might
- 11:17accidentally trigger these system menus.
- 11:18>> Those are great points, Andrew. There
- 11:20are similar system menus on the Samsung
- 11:22as well. And what was interesting to
- 11:24note for this device is that the display
- 11:26extends all the way through the phone
- 11:28bezel.
- 11:29Any buttons or text near the left and
- 11:31right sides of the screen might be
- 11:32unreadable, distorted, or cut off. So, a
- 11:35good rule of thumb is to ensure that you
- 11:37include a safety margin away from the
- 11:39screen edges for any important elements.
- 11:41For the ROG Ally, I found that the right
- 11:43stick was sometimes treated as a mouse
- 11:46cursor when I had it set to auto, and
- 11:48that I would have to manually move into
- 11:49game pad control mode.
- 11:51>> [bell]
- 11:52>> It might be useful to have a mouse
- 11:53option on these handheld devices from
- 11:55time to time, but players would
- 11:56typically use the game pad for any
- 11:58extended sessions.
- 12:00Roblox also has a default FPS cap of 60,
- 12:03despite the device's 120 Hz display, and
- 12:06sometimes defaulted to windowed mode
- 12:08rather than full screen,
- 12:09>> [music]
- 12:09>> which can artificially improve
- 12:11performance due to the lower resolution.
- 12:13Even though you should get to know the
- 12:14quirks of your testing devices, it's
- 12:16important to understand how that device
- 12:18fits into the wider Roblox ecosystem.
- 12:20You should use that information to
- 12:21inform your testing strategies. [music]
- 12:23Let's run through our big takeaways.
- 12:24Prioritize getting a low-end, that's 2
- 12:27to 4 GB of RAM, test device. It's the
- 12:30bread and butter of the Roblox user
- 12:31base.
- 12:33Leverage the microprofiler on your
- 12:34devices. Check out Andrew's many great
- 12:36videos on performance and microprofiler
- 12:38to really up your game on optimization.
- 12:40And keep in mind how performance differs
- 12:42between graphics quality, and how
- 12:44performance can degrade over a long play
- 12:46session. And finally, remember that
- 12:48testing isn't something you do last.
- 12:50It's an iterative process you should be
- 12:51thinking about throughout development.
- 12:53It'll just save you time and headaches
- 12:54to catch these things early. We know
- 12:56that's a lot to keep track of. Thank you
- 12:58so much for staying with us until the
- 12:59end. For more information on performance
- 13:02testing, the microprofiler, and more,
- 13:04check out all of the links in the
- 13:06description, as well as the
- 13:07documentation at create.roblox.com.
- 13:11Happy testing. If you have any testing
- 13:12tips or tricks, feel free to drop them
- 13:14in the comments. Thank you all so much
- 13:16for watching. See you next time. Bye.
About this transcript
This page contains the full transcript of Hardware Testing Guide by Roblox Creators, generated from the public captions YouTube serves with the video. The transcript has 2,561 words across 423 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.