Unity and its downsides
-
Hello,
I am well aware unity is an easy access dk for starters and if you already know your requirements for advanced programmer.I am just curious if it is even possible to avoid the drawcall restrictions of unity.
So if this game is realy done this way how is it possible to play it in the end?Would be glad to get some info on this befor further spending my time around here.
-
Hi @Lomacil :slight_smile: I don't get what you're referring to as "draw call limits of Unity". There is no "rule of thumb" for draw calls - you need to optimize according to several factors in your average game scenario (expected number of objects on the screen, poly count, weight of textures, etc) and the minimum CPU/GPU requirements you're aiming for.
As of today, the pre-alpha build of Fractured runs above 30 FPS* in averagely crowded scenarios even on our worst testing machine - a 5 years old laptop (CPU: i5-2410M - GPU: GeForce GT 540M) which was worth $500 back then and is probably worth $150 now. And we haven't started optimizing yet (obviously: optimization always comes a lot later in development).
So... yeah, I don't get the question "how is it possible to play it in the end?" either
*I'm obviously talking low quality settings here. A 2-years old $700 desktop PC runs the same scenario at 150+ FPS on high quality settings.
-
Hi @Prometheus
My information might be outdated but there once was a limit to how many drawcall unity can handle. And it was not that much, I took the time to extend one of my early projects by creating about 500 objects on screen (sphere,one material, one texture) and some lightsources. So I soon got the poblem, that not each object would be rendered in time (it wasnt a problem of calculation power) but unity just caped there. It was still version 4.0 as I remember and might not be a problem anymore but creating a complex world might become difficult if this is still an issue.I am aware you could easily handle this via optimation but still I am concerned through my own experience.
Maybe I am just overexaggerating but I wanted to know the oppinion of people who could meet this problem too. And since i think you got a wonderful idea creating this game and since I have high hopes for it, I wanted to know if this issue is considered.
Still thumbs up.
-
@lomacil you can just combine that 500 spheres into 1 mesh and get 1 drawcall.
-
@tulukaruk not sure how that works, since I created them on runtime with specific and different values/positions/components, with the possibility to move each one for them self in global space. Also you'll get a drawcall for everything added (like shadowcalc)
So I am not entirely sure what you mean^^
I just wanted to point out that unity got some issues and I hope they are considered well because I want to see this game
I just read they changed the drawcalls, so it seems there was some work done on this end and it's likely this wont be a problem anymore. Or its just easier to keep track of.
Should have looked it up to begin with.
-
@lomacil said in Unity and its downsides:
I just read they changed the drawcalls, so it seems there was some work done on this end and it's likely this wont be a problem anymore.
Yeah, I'm not aware of any hard limit with Unity 5.6 (the version we're using now, but we'll move to 2017 when SpatialOS does). I could say that it'd be nice if we stayed below 2,000 draw calls per frame in crowded scenarios, but excessive draw calls just cause a framerate reduction, not objects not being rendered and whatnot :slight_smile:
-
@lomacil said in Unity and its downsides:
@tulukaruk not sure how that works, since I created them on runtime with specific and different values/positions/components, with the possibility to move each one for them self in global space. Also you'll get a drawcall for everything added (like shadowcalc)
Read about combining meshes. I was testing it with few thousands cubes and it changed from 10fps (and lots of drawcalls) to over 100fps (and few drawcalls). All dynamically build, all in code.
-
so the issue was solved anyway, thank you @Prometheus
I guess the combined meshes could be used for background and suroundings, don't know how well this works with different moving objects.