How does UE4 stack up against CryEngine 5's rendering capabilities

There’s you’re problem! You spent too much on a graphics card whose architecture was designed for DirectX 9, and you’re running DirectX 12 projects on it! A GTX 960 will give you better performance. A GTX 1060 will give you astounding jaw-dropping performance. A GTX 1080 would run the Kite Demo without much hassle at all. This engine really favors the Maxwell architecture, and I can only imagine the Pascal architecture would perform even better. If you’re using Kepler, you’re wasting resources. Shut down your computer immediately and spend a couple hundred on a GTX 1060 to run the engine with a large number of small components and tessellation smooth like butter: you won’t regret it. Again, more components, smaller components, then tessellation will work fine. DX 12 and new architecture handles draw calls like a piece of cake. That’s what you need to be doing.

Actually, a lot of people wanted forward rendering for translucent lighting! Some of Epic’s dev team was even helping me to make my own light vector in Blueprints and transplanting UE4’s GGX code to have some lighting on translucency, a ridiculous process that does not need to be undertaken if the engine simply featured forward lighting for specularity on translucency. This can help anyone with water and windows and anything glass or translucent that needs a specular highlight. It’s been infinitely more requested than spherical worlds, that’s for sure.

But how accurate is the terrain compared to Landscape? How fully featured is it? You can paint 8 different surfaces on Landscape, each with their own physical and visual material properties efficiently culled out and excluded. You can also have some pretty insane formations and smooth collision on landscape because of the accuracy of the 16-bit heightfield. Memory is not as much a problem nowadays as rendering complexity: more memory means less needs to be generated at runtime. All the generation happens in efficient LOD culling and tessellation to remove triangles. Keep in mind, Landscape works in the realms of kilometers and is immensely flexible and specifically accurate to whatever the artist wants to do, not small pieces.

And you can imagine all the people who are still upset today that Epic dropped SVOGI from their engine completely. I’m not sure why it’s so difficult to get better multithreading on this engine, but I’m pleased with the performance I’m getting. 6ms CPU time in editor on an i7. After I compile, 3ms at the most. You can get better performance gains saving GPU resources than CPU.

And I agree with you, VR feels like a fad that’s emerging only because it’s new technology and designers are sticklers for new technology. But can you imagine if Epic had the only engine incapable of VR? There are a LOT of studios getting into VR for more than just games: arch vis, commercial marketing, and scientific applications are all things I’ve experienced in VR just in the last two years. But just because Epic is developing that doesn’t mean you can’t build ambitious games anymore. You can do anything with this engine, within reason. The more specific you want something catered to you, the less a general engine will be able to provide. Personally, I want great GI for character lighting. I want Epic to either continue building LPVs and get them to the point where they function accurately in game, or bring back SVOGI so that dynamic scenes can have appropriate light bouncing. But I can’t just expect Epic to drop work on integrating DX12 to focus solely on something that looks a little bit better than Distance Field/Heightfield GI from skylights and dynamic directional lights. This engine will still make a dynamic scene look incredible, you just need to use the tools you’ve got to the best of their abilities.

NVIDIA EVGA GTX 960 FTW Edition, Intel i7 3770, 12GB RAM, 1920x1080 in-editor performance with tessellation applied: 64-78 FPS. Newer and cheaper cards would run faster.

bc472f47a9bac4dcc39170decfce2b7b6b927331.jpeg

Not sure if this post is trolling or not. Especially the parts about being able to run Kite Demo, engine favoring specific GPU microarchitecture, and memory.
Every title, developed with this approach in mind, should be shipped bundled with a brand new GPU as a gift. :smiley:

The feature works great for smoothing out jittering and animation issues on the client, I’m not going to deny that. But it’s not the final say in large worlds in its current form because at a point, hitbox accuracy on the server becomes a concern.

It’s not that the engine favors a certain architecture, the rendering processes just run faster with different architecture. I had a friend who spent $11,000 building an ultimate development rig: i7 extreme 6-core, GTX 690, 64 GB of RAM, and a full-sized tower with a 1600 watt power supply that also doubled as a room heater. That monster ran UE4 half as well as my GTX 960. It could barely run the first person shooter template. Newer architecture always runs more efficiently with newer processes. This is why benchmarks for newer cards always show better performance than older ones. If you’re not looking at performance benchmarks, you’re blind. The GTX 1080 is the fastest graphics card available right now. If that thing can’t run the Kite Demo at 30 FPS, then nothing will.

If you have the option to use memory (textures, precomputed assets) instead of computation (procedural generation, ticked), the option to use memory and forego computation will run more efficiently than procedural techniques… until your memory becomes the bottleneck. This is why small environments work well with lightmass while larger ones absolutely require dynamic lighting solutions.

Really? Let me check that.

It’s as you said,

I have a computer, Unreal Engine 4, a GTX 960 FTW edition (which is a 20%+ overclocked version of the base specs you’re seeing in that comparison, and has 4 GB GDDR5 video memory compared to the standard 2 GB), and I’ve tested this myself in a project for a client. How can I be blind when I’m literally working on the project, testing it every day, and confirming that this method does indeed work the best? Tessellation showed a significant improvement to performance over parallax occlusion and added benefits that parallax occlusion didn’t have. The benefit of tessellation is cheaper materials in the distance, while POM would increase the complexity of the whole scene. Up close the triangle explosion can become a problem, so just lower the tessellation multiplier in the material down to a reasonable number (1.0 is pretty high, 0.5 is too little) and raise the LOD Distance factor in the landscape to save as much vertices as possible.

Open a new project in 4.13. Make a new landscape with plenty of small components (try less than a hundred components, 31x31 quads, 2x2 sections). Because only the lowest LOD will have tessellation applied, you need to make sure the lowest LOD does not stretch too far in the distance, otherwise you’ll be generating triangles where you really don’t need to. Make your material, including displacement maps, blending, and vertex normal displacement. Enable flat tessellation. Paint away. If you still can’t get good framerates, then only newer cards using Maxwell architecture will benefit from this technique. If your monitor is above 1920x1080, that will prevent you from rendering with good performance. I have heavy depth of field, fog, and dynamic lighting from light functions in my scene, along with plenty of foliage, meshes, and GPU particles. The whole thing runs excellently.

Your card is more than three years old. If you upgrade to a 1060, you will be surprised that a performance upgrade was even possible for such a cheap card. You don’t need to spend $1000 getting the best card all the time because every few years a $200 mid-range will eventually crush it with newer architecture. It’s just the nature of the business. It’s not just the components in the card that matter, but how the architecture is designed to take advantage of modern rendering techniques. The best methods will be different for each architecture. Old architecture that was optimized for older Direct X shading models will not run well in UE4. The 700 series was smack in the middle of that awkward transition from DX9 to DX11, and in my experience with a 770, they performed poorly at both. The 900 series is significantly better optimized for DX11/DX12 which is what I own personally, and the 1000 series succeeds it hands down. The GTX 1060 was my suggestion for a friend who built his computer now, and a client who’s going to build one soon. You don’t need anything more powerful than that unless you’re going into 4K, or you’re just really bad at optimizing. You can already get tessellation to succeed on a slower card as I have already proven to you by posting my in-editor framerate, which was faster than yours. And my scene is not fully optimized yet: there’s still a ton of overdraw in the fish and polygons in the coral, and my tessellation multiplier is set to 1 when it should be a bit lower.

I have simply no comments. Ever heard of not not calculating POM at certain distance?

Links, please. Preferably with description of particular changes in architecture taken for particular shading model.:smiley:

Your scene(I assume it is the screenshot a few posts above you are talking about) shows 65 fps in editor, which is unbelievably low for how unadorned it looks.

Based on what you’ve posted so far in this thread, I have a prediction to make. Remember it. quote it, for you will realize that it came true, when the time is right.Behold…

Trolling with mariomguy aside, I certainly prefer UE4 over CryEngine, but surely not for rendering capabilities. To me, out of the box, CryEngine produces better picture at higher performance with less effort involved. But that is out of the box, so it is not actually very relevant.
There is also a special case, where I would prefer CryEngine. That is open-world game with dynamic light conditions. For anything else, UE4 seems to be remarkably better.

It is true that a GTX1060 ($200) has significantly better performance than a GTX 780ti ($700 2.5 years old) in UE4 games. But it’s not anything close to 2x performance.

ue4 every flipin day of the week they say cryengine is called cryengine because it makes you cry and if you make a custom ue4 build you can have nvidia flex nvidia hairworks nvidia VXGI
nvidia waveworks and nvidia apex is build in

https://developer.nvidia.com/gameworks-physx-overview
now think about what engine you want :slight_smile:

Oh! and you can have facefx and speedtree
https://unreal.facefx.com/
https://www.speedtree.com/ue4/

Another thread like this… <frowns>

teak

Yeah, lowering the steps by pixel depth is actually more expensive than doing it by falloff. Even with those optimizations, tessellation still had better performance. And POM does not give you accurate lighting with material functions: functions are mapped to the vertices, not the offset. And if you want to perform pixel depth offset, you need to sacrifice performance even more along with dynamic shadows, which is not an option in my case.

Really? The fact that I ran the same project on a $11,000 development build with a GTX 690 and my personal computer with a GTX 960 ($1,000 to $230) and saw 2X performance improvement is not enough for you?

With tessellation, the closer you get to the surface, the more polygons you’ll end up with. That shot actually runs slower than a more decorated one with the sand further in the distance. Point being, even under the least ideal conditions, it still runs faster.

Thank you! It all depends on what you’re rendering. The 700 series are middle-of-the-road and handle both forward and deferred rendering equally (but neither particularly well). 900s are great with deferred rendering and DirectX 12. 1000s have further optimizations for DirectX 12 and VR. If you want to stay ahead of the curve it is much better to stick to NVIDIA’s '60s tier and upgrade more often than having to buy a $750-$1,000 card only for a $200 card to come along in a few years and destroy it.

There is some heavy pseudo-scientific stuff going on in the quotes above. I have no idea what are you talking about.

That is not a fact. That is a rumor. Besides,I have zero interest in your hardware specs and its performance in your projects. I absolutely agree on 1060 performing better overall than 780.

What I don’t agree with and whole reasoning of me chiming in here here is this post.
Namely:

Step by Step:

Heightfield rendering is recognized weak spot in UE4, both in terms of performance and functionality. Votes on aswerhub feature requests and issue tracker support that. This is objective. You like landscapes in UE4. That is subjective.

[HR][/HR]

Does CryEngine function somewhat worse in this respect? No.

[HR][/HR]

Does CryEngine function somewhat worse in this respect? No.

[HR][/HR]

Does CryEngine function somewhat worse in this respect? No. It is available out of the box, even without touching any kind material editors. Doing that in HLSL yields considerably better performance even in UE4 btw.

[HR][/HR]

Does CryEngine function somewhat worse in this respect? No. Even faster. And at lower memory footprint.

[HR][/HR]

Is CryEngine capped by a lower terrain resolution? No.

[HR][/HR]

I would not be that sure about infinity. You will get capped at around medium frequency detail texture for next few years at least for sure.
Does CryEngine stop you from using tessellation on terrain? To some extent yes. It is not available out of the box. Difficulty of implementing it for terrain is somewhat comparable to properly doing POM in ue4.

[HR][/HR]

So physically or geometrically? Is using texture displacement map is a feature unique to UE4 ? If no, why are you mentioning it?

[HR][/HR]

How does being underwater affects performance of both? I can imagine only three cases where tessellation would outperform POM on landscape.

  • Low frequency details, that do not require high multiplier
  • High output resolution
  • Improper POM implementation

I have no doubt, that for you, the third is the case. You already gave hints about that in your posts.

[HR][/HR]

Point being, that there is no point telling people, involved in game development, to purchase new and specific hardware for themselves, especially in response to pinpointing a very specific and confirmed issue with landscape tessellation performance in UE4, and especially if you are not fully aware of what you are talking about.
And please, when posting abstract stuff like this this:

Have some sort of proof ready, for there is a good degree of difference between shader model and shading model.

What is the image trying to illustrate?

Sir, scorching the thread was never my intention. I targeted specific post. I just feel uneasy when I see a suggestion to patch up an issue with better hardware, especially after putting a bit of an efforts, that are in my power, to improve it in UE4. I am not favoring CE in anyway. In fact I would be visiting the other forum, if I did.

The thread shall live through that. It was initially targeted at comparing rendering capabilities. I’d would mention a bulk of repulsive things in CE, restrictive eula and somewhat strange community would be on top of that list, but all that is not really relevant to rendering.

Besides, are we speaking about unmodified engines? If yes, than CE seems more feature-packed rendering wise. However, once you take possibility of extending and modifying the engine to your needs, all borders and minimal starting advantage of CE vanishes. Regrettably, I’ve dived into modifying UE4’s rendering only recently, but I enjoy it and eventually, it is not as hard as I thought it to be. Got no experience with CE in that field though, but I’m baldly sure UE4 wins here by a good margin.

Generally, I think that speaking about rendering capabilities is somewhat… unproductive, because i’d safely bet that majority of the ones, who are reading this topic, will be capped by the level of their art and skills, rather than the engine. Game engines had become much more accessible to the general public in past few years, and with increase in number of not so advanced users, there is a clear elevation in demands for the features available at zero effort.

Deathrey, I think you’re confusing one conversation for another. Someone was saying that landscape has not had any improvements since the days of UDK, and that’s obviously false. I responded by saying you can now have tessellation on it without tanking the performance only because of the newest update in 4.13. Tessellation is now applied only to the lowest LOD, whereas before it was applied for all the LODs and increased the polygon count like crazy. I don’t understand why some people can’t comprehend that landscape runs faster now, but it does.

I am not aware that there was ever a problem with heightfield rendering in UE4 considering I have not had any.

In my project, tessellation is applied to medium detail. As you can see in the screenshot, the detail is very smooth, so there is no need for high tessellation multipliers. The project is running at 1920x1080. It’s not 4k, but it is a fairly high resolution. POM implementation was properly done. It wasn’t even my function, it was from Ryan B, an official Unreal Engine Developer (POM material - Rendering - Unreal Engine Forums). The POM function works fine, the problem is to get the effect to look good with a decent depth. You simply need a lot of steps to do that, and that increases the shader complexity. This scene is already fairly complex with the post processing and lighting from a light function (there is underwater caustics being lit by a material function on the directional light). On top of all this, the camera is typically positioned further away from the sand, so there is no need for a ton of triangles. Just enough to show depth up close.

When lighting with a caustics material function, you have a texture being applied and panned over your geometry. Parallax occlusion does not change the geometry, so it will be lit as if the parallax was not applied. The caustics will look like they’re floating on top of parts of the sand that are sinking down. Tessellation fixes this problem using real geometry. Now the sand doesn’t just look like it’s bumping out of the ground, so does the lighting. Shadows and everything else behaves accordingly. And none of this would’ve been a great idea if UE 4.13 didn’t restrict tessellation to the lowest LOD and DirectX 12 didn’t make rendering draw calls so easy.

A GTX 690 ran the FPS template at 30 FPS, 1080p. A GTX 960 can run the same project closer to 50 FPS. The GTX 690 was $1,000, the GTX 960 is now outdated but was closer to $230. Nowadays, a $200 card can render more than twice as fast as the most expensive card 3 generations ago. If anyone wants to disagree with this, they can go ahead and disagree, but they’re wrong. The reasons graphics cards become outdated so fast is not just because of smaller fabrication processes, but because of more efficient architecture to handle newer rendering methods as well. If you have another explanation why a 960 can outperform a 690, go ahead. Those cards are only two generations apart and the newer one runs almost twice as fast as the older one at less than 1/4 the price.

And to agree with Deathrey, yes, the difference between a great looking game and a terrible looking one is not the features of the engine, but the art and design behind it. This is why games like Paper Mario are still heralded for their visuals today while technically stunning games like Lair and the original Call of Duties have aged poorly and fallen by the wayside. Technical amazement fades when it becomes commonplace, but good art and design lives on forever. That being said, there is definitely a significant push to get things like dynamic GI and fluid simulations working, but the intention of all this tech is to aid designers and improve upon what can be done. Technical limits are pretty hard ceilings, but not in the hands of a good artist.

franktech wrote about landscape not receiving updates since UDK, and he has good deal of truth here, because technically, it is the same system, since UDK transitioned from terrain to landscapes. Surprisingly, I used to favor that legacy one, but that is personal. In fact, there is actually not much innovations to add until today.

But what is observed, that terrains are taking longer to render and consume more memory in UE4 than in CE. To be fair this difference is quite insignificant, that alone, it can be safely omitted. However, coupled with a few other limitations of UE4, this performance hit amplifies. I am speaking about overly complicated pipeline for authoring shaders outside of material editor mostly. The first feature it hits is a landscape.
I’m already over this stage, but lack of more accessible way to do your own shaders in UE4 is probably the most contributing feature to the amount of low-performance whine.

Landscape relies on splatting textures in pixel shader, thus you will be always constrained by the number of layers you can use. This is the main limitation of landscape functionality in UE. Cry engine uses conventional multi-pass approach here with a few tricks, and wins ten folds in performance, while loosing at quality and flexibility of blends. Again, this is a long term strategic choice, and left alone, it is not bad at all, however how come users do not have easy access to use of flow control in material? Landscape rendering is crippled without it. So, speaking frankly, it is not even a flaw of landscape system at all, but rather material editor.
Then again, some pretty basic, yet essential convenience features are missing from landscape editor, like slope-based layer painting, pen pressure sensitivity etc.

By proper use of POM I meant its implementation far beyond that material editor node. You can’t be serious using POM node in material and comparing its visuals with tessellation on landscape.

I did not have any issues with tessellation in UE4, not even before 4.13 change, even taking into account that it performed measurably worse for me, than my implementation of terrain tessellation for another widespread engine.
What I and a good deal of other users did have and still having problem with, is dynamic lighting performance, and particularly, CSM performance with landscape tessellation. To my regret, briefly looking through landscape shaders and renderer, I haven’t figured the root of the issue myself. That effort was beyond the scope of the project anyway.

So no, mariomoguy, I am not confusing one conversation for another.

What about users, that bought your game, while having GTX 780 installed? How will you go with explaining them, why they are getting slideshow? A recommendation to buy GTX 1060? A statement, that they were getting normal framerates in other games, because those games were not UE4 - powered?

For anything Realtime outdoors, CE5 is still King in visuals. UE4 doesn’t even come close without a significant amount of no-go’s. SVOGI with SSDO versus LPV’s with DFAO. One is highly usable for anything next-gen, the other is obsolete and looks like a buzzing beehive or artifacts when used in conjunction with dense foliage. CE5 has pixel perfect displacement at very low cost. UE4 has high cost POM that doesn’t work for 50% of what you would actually want it to do.
That’s it for the good part. The rest of CE5 is all scaling from inferior to UE4 to disastrously bad when compared to UE4. I would use CE5 for nice forest demo’s and real time portfolio stuff, then swallow my frustration and go back to UE4 cause at least it can get most things done quicker and better.