Search Unity

Digital Foundry vs. Unity3D

Discussion in 'General Discussion' started by Ferazel, Mar 9, 2016.

  1. Ferazel

    Ferazel

    Joined:
    Apr 18, 2010
    Posts:
    371
    I was catching up on some Digital Foundry videos and noticed that they had a performance video for Firewatch comparing the versions with the initial release and the 1.02 patch.



    What I was not expecting was the complete smackdown they gave Unity and the engine's performance. I wonder if Unity has watched this video. When a customer releases a high-profile game on consoles you should really consider providing some extra TLC to make sure that your engine shines. From the jittery frame rates to the huge freeze when I'm guessing is an async load scene request it reflects poorly on the engine. Obviously, Unity can't take full responsibility for what customers release but the engine mindshare that is lost is significant.
     
    Last edited: Mar 9, 2016
    Arowx likes this.
  2. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,995
    Who is Digital Foundry? Is that another overly opinionated YouTube channel? Honestly there are so many of those these days that I tend to tune them out and it certainly wouldn't surprise me if Unity did much the same thing.
     
    Last edited: Mar 9, 2016
  3. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    Can't say Unity 5 performs great (coming from the Android corner) compared to 4, but i tried a very simple thing built in unreal and oh boy, i may not hit every settings right, but i started a really simple mobile project, disabled effects where i found them, and it ran horribly pixelated (have it to some degree on a device with Unity 5, too, but not as bad) and with a bad framerate on my device.
    And hitches like they mention in this video have grabbed my attention in Unity 5 aswell, especially for a while after starting the game, and i think after loading new scenes. Those hitches weren't there in Unity 4.
    I've already sent in a bugreport with a fairly simple project months ago. But there has been no reply yet.
     
    Last edited: Mar 9, 2016
  4. moure

    moure

    Joined:
    Aug 18, 2013
    Posts:
    184
    Just to add here that firewatch was developed in Unity 4. I remember reading in their blog about the art of their trees and they mentioned that couldnt use speedtree since they were on Unity 4. Here is a blog post from 2014 with answears some question about their art.
     
  5. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    Jumping through their blog i sumbled upon this image
    In that they're using a 64bit editor and afaik that one came with 5 and not before.
     
  6. 00christian00

    00christian00

    Joined:
    Jul 22, 2012
    Posts:
    810
    I saw games that could run fine on Texas Instrument calculator, lag even on powerful devices.

    Can't blame Unity for devs poor optimization skills...
     
    theANMATOR2b, Ryiah and Kiwasi like this.
  7. Brity

    Brity

    Joined:
    Feb 27, 2016
    Posts:
    116
    well he's right in some areas.. but hey.. Good news!!
    Unity is working on it!!
     
    cl9 likes this.
  8. cl9

    cl9

    Joined:
    May 31, 2013
    Posts:
    417
    IL2CPP will be coming to the desktop and there will also be a likely switch from Boehm to generational garbage collection.
     
  9. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,442
    Kind of the same thinking many gamers have regarding games. lol
     
  10. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,611
    There is large number of people who complained about bad performance of unity games on PC platform. I'd say unity is famous for it. So that's nothing new, and it would be best to get used to those kinds of opinions.
     
    zenGarden likes this.
  11. BeefSupreme

    BeefSupreme

    Joined:
    Aug 11, 2014
    Posts:
    279
    They're a branch of Eurogamer that specializes in technical analysis, especially differences between ports. They're pretty good at what they do IMO.

    Yep. Bad ports on PS4 (like Broforce) are also generating a lot of hate.
     
    theANMATOR2b, kablammyman and Ryiah like this.
  12. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,137
    Will that hurt asset bundles at all? Feels unrelated, but is there some magic involved with how unity runs now that allows it to import assemblies and models?
     
  13. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    What bothers me is the game just use simplistic graphics, no complex floor and vegetation shaders. A simple graphics game like that should run 60 Fps like the Witness.
    Perhaps Unity should do some work optimizing the core engine for PC platforms and let down a litlle mobile for some time ?
     
  14. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,611
    You can kill performance even with simple graphics. For example, one big object with lots of point lights in forward rendering mode could do that. Failure to bake occlusion would do that. Heck, with enough grass, you can kill performance too. Or with lot of smoke. Few years ago some radion cards had that amazing glitch where displaying large non-pow2 texture would cause significant performance drop. How about a post effect that causes scene to be redrawn second time? Or how about moving static objects or having a LOT of mesh colliders?

    Either way, there IS opinion that unity performs poorly, but regardless of the opinion, it is developer's job to ensure that the game runs smoothly. I did play some poorly optimized unity games (shadowrun series, wasteland). On other hand cities skylines was running well.
     
    theANMATOR2b likes this.
  15. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,542
    It's my belief it's not the engines fault, it's the people creating the games fault not knowing how to properly optimize.
    I'm almost sure the game in the video above, he didn't use LOD Colliders. Meaning everything but the most important (up close) LOD doesn't need a Collider. And it sure seems like lots of Polygons were used more than should have.
    But likewise it could have been bad scripts to cause bad performance, just anything.

    To blame it on Unity is Blasphemy. I've never experienced issues except what I did on my own doing.
    If I noticed it would be smooth great 60 FPS then next thing I know I'm getting 5 FPS, I track down the issue because that's not normal.

    So the developers who release crap things either A) Release it for the supported hardware or fix it so slower computers can handle it.

    I've had 12 million polygons, with 5K draw calls and still had 60 FPS, (with vsync on).
     
    theANMATOR2b and Ryiah like this.
  16. Deleted User

    Deleted User

    Guest

    I always thought performance in Unity was pretty good, especially with Umbra. Yeah they definatley could do with some improvements on the async side (like CE's streaming compression algs) and something like FR smoothing like UE wouldn't be a bad idea. Well just generally trying to smooth transitions for larger games wouldn't be a bad idea within itself..

    It can be quite a bit jarring sometimes, but ultimatley yeah. As a developer I'd refrain from releasing a product if it had performance issues even if I had to switch engine. It's not always the dev's fault, but they can always do something to remedy it..!

    @N1warhead

    Let's not start on the "it's never the engines fault", Epic pulled a lot of side projects (like DFGI) off the roadmap and spent two releases doing nothing but performance upgrades and bug fixes. I'm sure there will be some evangelists on UE's side saying it's "never the engine" but in most cases they are wrong otherwise Epic wouldn't do such a thing.

    Like any piece of software, it has faults. It can be improved..
     
  17. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,542
    @ShadowK - well yeah sure Engines can have problems, but I don't get why only some very few people will have these issues. I have never had an issue outside my own ignorance to cause a problem.

    Like, little did I know for awhile, a Debug.Log(); will kill your performance faster than anything else if called everyframe. But I learnt and now I only use them if they need to be called at the instance of something. E.G. - Button press, Logged in, etc.
     
  18. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,611
    I do not think so. It is "barely okay". It will be "good" when basic scene will be running at 400..1500 fps - on par with C++ project written from scratch.
     
  19. Deleted User

    Deleted User

    Guest

    I kind of agree, thing is you just don't know if they've done something daft or not. So it makes this very difficult to find a route cause, unless the developer openly posted analytics for everything that's going on. They shouldn't of needed to cap the game to 30FPS with the amount of detail / limited graphics pipeline that's for sure.

    It's really dependant on the type of game as well I worked with an MMO team that had horrific random spikes and issues with performance for various matters that I can hardly remember now.

    This is back @neginfinity I have used Unity for a while though and I know how to squeeze performance out of it and by the time it came to getting everything ready for console we'd switched engines so, I can't comment on how bad or good Unity is on CPU starved devices. I also never did mobile, so I've got a rather limited subset or pool to draw experience from..

    On PC, yeah I had my fair set of issues but many of them I rectified myself.
     
    N1warhead likes this.
  20. Fuzzy

    Fuzzy

    Joined:
    Feb 11, 2011
    Posts:
    266
    there's something strange going on with unity and fillrate performance as i got this with a clead background to run at 60 on a mobile device:
    IMAGE-1 Lightning strange, but nothing to worry about right now, since we focus on framerate
    IMAGE-2 The same plane just rotated in front of the camera
    IMAGE-3 Changing Shader from standard to mobile diffuse i think it was still not reaching 60fps
    IMAGE-4 A somewhat older scene from a 4.x game running at stable 60fps

    I had an unfancy proto running in U5 (IMAGE-5) stuttery 36fps, and even crashed after a while.
    Ported the same thing to 4.x and got stable 60fps from the beginning (IMAGE-6).

    I've sent this in as a bugreport mid december 2015, but haven't gotten any reply on it yet.

    And this is mobile running on a small resolution i can only imagine that this issue only grows with bigger screen resolutions and bigger projects.
     
  21. moonjump

    moonjump

    Joined:
    Apr 15, 2010
    Posts:
    2,320
    Simple looking graphics are not always simple to create, especially when you are dealing with a forest. There is an article on visual design in this month's Develop magazine with Firewatch central to it. The online version is available here (article starts on page 45): http://www.develop-online.net/magazine/digital-edition
     
  22. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    How Ori game runs on PC ? 30 or 60 fps ? This is surprising your 2D Game to run so slow on Unity 5.

    Unity "The Forest" game runs smooth and fast with high res textures and advanced foliage shaders, why "FireWatch" with simple graphics should run slower ?
     
  23. Frpmta

    Frpmta

    Joined:
    Nov 30, 2013
    Posts:
    461
    If The Forest runs smooth and fast, I guess it was after a year of optimizations after release and a ton of negative feedback for it on the Steam forums.

    Its release comments were even worse than those directed at Firewatch.
     
    Ryiah, Tomnnn and zenGarden like this.
  24. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,137
    That's probably the case. The trailer of the game sold itself to me, but I was very disappointed in the content at the time of release. After searching for a few hours I did eventually find one of the monsters from the trailer, but they are placeholders that just stand in place and cycle through all of their animations. Creepy at a distance, immersion breaking once you realize the game in its current state (at the time) had about as much content as the version of minecraft BEFORE the initial release.
     
  25. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I didn't know. Unity will have to catch on game speed.
    I'm pretty sure UE4 would perform great if Firewatch was made with it, because UE4 is mainly for PC games while Unity is more geared towards mobile games.
     
  26. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,137
    You might be interested in the early stages of ARK : Survival Evolved. An unoptimized unity game requires a potato to run. An unoptimized unreal project cannot be run on a TitanX on more than 10fps.
     
    Frpmta likes this.
  27. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    6,261
    I'd be very surprised if Unity wasn't working closely with Campo Santo.

    And Firewatch performs pretty good on PC. It has some issues on PS4.
     
  28. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I talk about UE4 standard terrain not ARK, because Ark is unoptimized and uses it's own custom modified real time lightening system.
    I can make a big terrain in UE4 with vegetation and have that running good on a standard PC, something more complex than Firewatch simple terrain and vegetation color shaders.
     
  29. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    2,576
    Each game developer needs to profile their projects and figure out why they are not performing as well as expected. Unity can run really well. The game I am currently working on gets hundreds of frames per second, and this is on PC using Unity 5.
     
    Kiwasi likes this.
  30. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,137
    Well that's not really fair to compare then because all of the out-of-the-box unreal stuff is beautiful :p
     
  31. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,474
    Well seeing as this thread is about performance...

    One thing I've found to be really incredibly dumb with Unity is the lack of being able to have proper exclusive fullscreen mode with working multiplayer, its not possible because if you tab out of the game when using exclusive fullscreen mode the game pauses (ie 0%cpu on the game while tabbed out so no code is run, might be a good thing on mobile for battery drain reduction.. but on a powered desktop its dumb,and its extra dumb because windowed fullscreen keeps the game running anyway which is why it has to be used for any unity multiplayer game).. sadly it completely wrecks doing any sort of multiplayer game easily if the game pauses like that for exclusive fullscreen mode :(

    I'd rather have the game chewing up cpu in the background while the player tabs out to do whatever, while being able to offer exclusive fullscreen mode (performance benefits over windowed mode are not negligible depending on a players pc setup) and working multiplayer. Is a number of games that do it just fine off top of my head payday2, clearly those developers were wise enough to not bother using Unity or had there own inhouse engine to use (pd2 do). I think a number of consumers are starting to wise up to games made with certain engines like Unity, now its not there fault if a developer release some slop in early access and abuse customers or just plainly picked the wrong engine for the type of game, but those consumers will certainly pay more attention to the kind of engine being used in making any future game they might be interested in purchasing.

    To me its beyond stupid in a day and age when multiplayer is a much bigger aspect of games now. And players always want more performance (and if you've spent even a fraction of time playing other pc games built with the unity engine and checked discussion boards the lack of exclusive fullscreen support comes up fairly often).

    Unity's response on the issue from what I've seen in topics and issue tracker is "Won't Fix", no discussion on the technical aspects of why they won't bother. I guess it would be a big architecture change to make just for PC gamer market when borderless windowed fullscreen mode is good enough right. I'm guessing the engine is still so closely tied and built up for mobile slop platforms where battery drain is more of concern and crap/spyware riddled OS development is norm and customers are treated like idiots to crap designed apps and poor os features.

    Personally I blame developers for either picking the wrong engine for the game or just not doing a better job on issues themselves in cases when games show poor performance, playability, bugs etc.. and knowing the pros and cons and all available choices really helps.. still when a large number of developers start putting out games in the market using Unity. Then as a game engine developer they have to take some bad rap for things they aren't doing anything to improve for its game developers using their engine.

    Ps I actually like windowed mode for most games or windowed fullscreen is cool aswel as its quicker to tab out. Exclusive fullscreen usually takes an extra second or 2 to tab out and in .. but sometimes the performance increase is definetely worth it especially if I won't be tabbing out much... perhaps vulkan to will make up the losses.. shame how many years this tech has taken, shame dx12 is tied to such a cappy junk os.
     
  32. mdrotar

    mdrotar

    Joined:
    Aug 26, 2013
    Posts:
    377
    Interesting word choice. There's certainly a noticeable number of Unity evangelists that religiously defend the engine from any wrong-doing. But the reality is there are indeed engine bugs/flaw that cause lagging with no possible way to work around it other than to hope and wait for a fix from Unity. They don't affect everyone, but they are there to run into if you reach that part of the engine.

    Do you really think they haven't optimized Firewatch the best they can so far? Like they haven't looked at the profiler or something?
     
    moonjump likes this.
  33. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,995
    Have you tried this?

    http://docs.unity3d.com/ScriptReference/Application-runInBackground.html
     
    Tomnnn and Kiwasi like this.
  34. Tomnnn

    Tomnnn

    Joined:
    May 23, 2013
    Posts:
    4,137
  35. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,542
    I say this because 9 times outta 10 it's a persons fault they are running into bad performance.
    Granted yes sometimes there are engine bugs. But that's the glory of coding, there's always more than one way of doing things. If one thing performs slow, try another way.

    Tweak, tweak, tweak like crazy until you get it. I've literally sat 2 days (16 hour days) tweaking one single thing just to get it right. And 9 times outta 10 I usually get the result that's good.
     
  36. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    7,195
    Fingers crossed that 5.4 will bring some much needed improvements.

    But does Unity as a game engine need a major overhaul, it has an aging .net implementation leaky/shaky old and sagging garbage collection, no multithreading, an api that has lots of little memory leaks, a few performance issues and quite a few bugs?
     
    landon912 likes this.
  37. mdrotar

    mdrotar

    Joined:
    Aug 26, 2013
    Posts:
    377
    Gee, why doesn't Campo Santo just hire you to fix all their problems.
     
  38. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,995
    Designing and optimizing code to the best of your ability though doesn't necessarily mean you've done a good job.
     
  39. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,542
    Assuming that's major sarcasm lol..... But seriously though, we usually once we learn something we get stuck doing it a specific way, that's just what us as Humans do naturally. But once you can learn to try, 3,4 or maybe 5 different ways of doing something, each offer pros and cons. Depending what kinda game/program you're making the pros and cons could potentially outweigh the others, but then again, as I said - engine problems of course do exist
     
    GarBenjamin likes this.