About Store Forum Documentation Contact



Post Reply 
Shadows and lights optimizing
Author Message
b1s Offline
Member

Post: #1
Shadows and lights optimizing
We are still having some trouble of getting a decent fps..
So I have a proporsal for few new features that might help quite a bit.

In order of importance.

1. Ability to fade shadows on a single light. for instance an alpha parameter for the shadow casting.
example:
PHP Code:
LightSqr(range,pos(),colour,0,0).add(cast_shadows,0.5f); 
This would only render the shadows on 0.5f alpha? this way we could enable smoothly certain shadows when they come to a certain range of the camera and would give the possibility to have much less range on shadows. Would be a BIG help. (not sure if this is possible tho smile)

2. Some sort of fading between shadowmap changes in direction lights.
There is a clear line on the shadows when they change to the next map and that is really visible. This almost is putting us to a situation where we cant even use directional lights at all.

3. Fading or something between lods. I know this is really far fetched and you probably will not be able to make this happen. But instant changes between lods might sometimes be way too visible to player and is limiting our lod usage.

4. Ability to bake ingame shadows and lights to objects.
I know this is a huge deal to make and I am pretty sure this will not happen. But just as a reminder all the other engines are starting to give these sort of options as a basic bundle. (unity, udk etc.)
This is something that can give you the difference of 20 to 80 in framerate.

5. Also just checking the basic rendering of the engine. Without any lights or anything just having a simple terrain and maybe one cube object is not really giving the framerate that it should. On many of the other engines the scene that is in the same complexity with the same effects you are getting way more than 300fps while the same scene on esenthel seems to be capping quite fast to around 80-90fps.
(On a mid range system) Just something to keep on mind. There has to be some kind of room for further optimizing if others can do the same on equally complex stuff. But I know it is extremely diffuclt thing to do and you will most likely not be able to tackle this much more.
I just wanted to let you know that we are experiencing the same issues here as are many others on the forums and that kind of makes us concerned..


Basically issues with the framerate at the moment are pretty huge.
We have been going trough alot of the wiki pages tackling these issues but in the same time we do want the game to look like a real AAA title and not something from 5 years back.
08-18-2011 11:55 AM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #2
RE: Shadows and lights optimizing
1. Makes sense, I'll add this to roadmap
2. You can manually adjust shadow steps using D.shadow_step see erpg 2 source for usage
3. Nope
4. Will add to roadmap
5. Post process, deferred renderer, etc...
08-18-2011 06:56 PM
Find all posts by this user Quote this message in a reply
fatcoder Offline
Member

Post: #3
RE: Shadows and lights optimizing
I notice that the fading shadows has been added to EE. I was just thinking that couldn't this be an automatic feature of the engine. i.e. EE automatically fades shadows for lights as they get further from the camera, perhaps with a global parameter for how aggresively EE does this. This could also be weighted by the size or strength of the light, so shadows from smaller lights fade faster that those from larger light sources.

Otherwise we need to write our own code to do this, which feels more like engine code rather than game code if you know what I mean. Not a big deal for me, but a lot of others may have no idea how to do this and something like this I think EE should just automate for us.
08-28-2011 01:04 AM
Find all posts by this user Quote this message in a reply
b1s Offline
Member

Post: #4
RE: Shadows and lights optimizing
I personally would like to keep the manual one.. For us it is not really working that it would use a global parameter since we have some for instance rooms very close to each other and it makes no sense to render anything inside a room that is not visible at all even tho it can be only 1 meter away.
Btw extra points for esnethel to making these happen so quickly.. You really rock smile
(This post was last modified: 08-28-2011 07:54 AM by b1s.)
08-28-2011 07:54 AM
Find all posts by this user Quote this message in a reply
Demostenes Offline
Banned

Post: #5
RE: Shadows and lights optimizing
Performance tuning is especially important for mobile platforms. BTW, best marketing for EE is finished game with great visual quality.

We can easily achieve AAA visual quality with our assets, on the other side if I decide to publish our game on EE, very few people will be able to play it, because it moves only on TOP HW. If I publish it on our current engine, visual quality will be little bit worse (not much), but framerate will be 3x higher and so almost anybody can play it. We prefer EE, because it is far more flexible and mature in some features we need to have. But...

Indeed we can try to make some custom optimizations, joining meshes, fading objects, etc...but this does not have guaranteed result, after one year of tuning we can still be on quite bad framerate. And this should be part of core, not custom scripts.

Again, best marketing are nice pictures. Any game today is sold according to pictures, nothinge else matters. It is sad, but it is reality.
And you cant achieve visual quality without performance optimizations. EE has everything necessary for achieving great visual quality, so now it is time to make optimizations to be able to move such game in decent framerate. Without it nobody will ever do great looking game on EE.

When I saw screens from EE games for the first time, I though omg, what platform is this, it look like something ancient and forgotten. Absence of nice screenshots means only two things:

a) engine is not able to achieve decent quality
b) engine is able to achive decent quality, but it is slow, so nobody is doing it

So I almost closed browser and forgot the engine. I did not only because of my friend gave me recommendation to try this engine. So I tried, I found that engine is very capable, It can compete with CE3 on the field of visual quality. But there is performance issue.

AFAIK there are 2 MMOs published on EE, so it means, that engine is flexible and you can do almost anything you want, probably not big limitaton from API side, etc... OK, so now first priority should be optimize engine performance (add performance related features...), to be able to deliver games worthy of 2011, not something like from 2002.
(This post was last modified: 01-21-2012 08:09 PM by Demostenes.)
01-21-2012 07:57 PM
Find all posts by this user Quote this message in a reply
Demostenes Offline
Banned

Post: #6
RE: Shadows and lights optimizing
Maybe I should correct my statement. Graphics attracts people. In case of offline game once you sold, you dont care. In case of online you must attract them by graphics and keep by gameplay.

Anyway I have lots of friends in gaming companies around the world and EVERYBODY confirmed me this. Graphics is what makes bestsellers. Graphics is what attracts people. Nobody will crawl webpage for info about gameplay. Sad, but this is reality.

Did you even know, that ALL current gaming companies are faking screens of their game to show better graphics? Who does not do that, he has far lowers sells, than competition (story from reality). Then people asks, how it is possible, that game has far worse graphics than on screens. Answer? You dont have Geforce 27 and 16 cores CPU, so this is why...Very easy.
(This post was last modified: 01-21-2012 11:35 PM by Demostenes.)
01-21-2012 11:33 PM
Find all posts by this user Quote this message in a reply
b1s Offline
Member

Post: #7
RE: Shadows and lights optimizing
(01-21-2012 05:33 PM)aceio76 Wrote:  b1s, doesn't your team have a good developer? I thought you guys have the corporate license? Many of the things you are asking for, like how to better handle rooms and such, can be coded to be more efficient (I am doing it). I know that many folks (well, one person mostly) is asking for object occlusion, but there are ways to code something to get the same end result (again, I am doing it).

I agree with what fatcoder said, however, that it is more fitting that these functionalities should be native to the engine, but my point is that it *is* doable and that Esenthel can keep finishing his roadmap items (1st item and so on). It is very easy to ask for more feature request (I noticed myself doing it too) but I now really realized that Esenthel is just one guy, and he will focus on things that bring his engine more visibility out in the market (such as a more developed mobile device support) and his focus will not always align with what us devs perceive as more important. I just got back from a technology and sales briefing out in Arizona, and one of the big and notable statistics is around mobile use and I agree with Esenthel with how he is focusing on the Android platform and other mobile platforms. It's a very solid business decision that he made and the 1st road map item he's got makes much sense if you understand the statistics.

We have quite a lot of optimizing in the game and it's getting there.
But there really would be a ton of more to do.
The thing is some small features seem to have very heavy consequences. Like only few lights with shadows really have a heavy impact on concentrated areas and also sun is eating away like crazy.
Would be much easier if we had some open fields and areas in the game but its pretty much all inside a 30-50m2 radius. around 2000 unique meshes and 2000 unique textures. It is proving to be really challenging to get the framerate over 60 in high resolutions.

But btw this first thing I asked here did a Huge difference. and we are getting now much nicer quality with better framerate. But still would need more smile
(This post was last modified: 01-22-2012 11:19 PM by b1s.)
01-22-2012 11:17 PM
Find all posts by this user Quote this message in a reply
Post Reply