Jump to content
BES

Still waiting on substance support...

Recommended Posts

I just ran your game, and just looking at the benches outside and that overturned shopping cart, the objects stay visible as far out as I can tell. They don't really do any good because at that point they're just blobby pixels anyways.

 

By default, near, medium, and far culling ranges are 15, 30, and 100 meters.

 

From what I can tell, it appears everything is set to max culling distance.

Share this post


Link to post

The benches are set to far - at medium setting the popup is too noticeable on them.

 

From what I can tell, it appears everything is set to max culling distance.

 

Definitely not, you're probably thinking this because you don't see obvious popup which is a good thing visually but not so good performance wise.

Share this post


Link to post

Here is a nice cull script I've used alot

 

    --optimize scene place objects in viewrange based on their aabb radius.
   for i=0,world:CountEntities()-1 do
    if world:GetEntity(i):GetClass()==Object.ModelClass then
		    local aabb=world:GetEntity(i):GetAABB(Entity.GlobalAABB)
               if         aabb and aabb.radius < .1 then world:GetEntity(i):SetViewRange(0)
               elseif     aabb and aabb.radius < 1 then world:GetEntity(i):SetViewRange(1)
               elseif     aabb and aabb.radius < 10 then world:GetEntity(i):SetViewRange(2)
               elseif     aabb and aabb.radius < 20 then world:GetEntity(i):SetViewRange(3)
               else     world:GetEntity(i):SetViewRange(4) end
    end
   end

Share this post


Link to post

The benches are set to far - at medium setting the popup is too noticeable on them.

 

 

 

Definitely not, you're probably thinking this because you don't see obvious popup which is a good thing visually but not so good performance wise.

I see it in commercial games all the time.

 

Shadmar's script is a pretty accurate way to handle this. In fact I might make that automatic behavior when a new object is created in the editor.

Share this post


Link to post

Ok so I tried a modified version of shadamars code below - thanks shadamar - I ran it once on a key press at the start and forced every entity in the level to be Near viewrange. This left pretty much nothing but the terrain visible and the fps went from about 10fps to 20 fps. I get 59fps on a blank map and I know there is still things going on in my map but changing down my manually set view ranges and introducing more popup is not going to make too much difference. I suppose I could possibly get +5fps if I make it a heavy fog level with shorter viewranges. I might do this yet but I'm checking out some other things too.

 

for i=0,App.world:CountEntities()-1 do
if App.world:GetEntity(i):GetClass()==Object.ModelClass then
local aabb=App.world:GetEntity(i):GetAABB(Entity.GlobalAABB)
App.world:GetEntity(i):SetViewRange(0)
end
end

Share this post


Link to post

Okay, that's interesting. I think this is linked to rendering, because it is very dependent on view direction. I would take a close look at the zombies. Perhaps the animation is causing this? It could, depending on how many zombies were being rendered. I would also toggle occlusion culling on and off on your player's camera and see what that does.

Share this post


Link to post

I set it to spawn 0 enemies (the level is set to have 12 as default) and I get another 10fps, so that's 30fps total with no map objects visible or enemies at all. Satisfactory fps but not really a playable game.

 

I notice if I just leave everything as is, looking at the town I get 12-15fps, looking away from town it goes up to 20fps.

 

I tried occlusion culling true/false before and it made not much difference so I opted to leave it set to false. Leaving it at true tends to make things flash or popup more, especially at lower fps. I think the view ranges give me more gains on the outdoor level anyway. Also tried removing shaders, 1024x768, lower antialiasing, lower lighting but these make little to no diff on the fps.

 

I think it's really just lots of little things coming together to bring down fps, if I keep removing stuff it will gradually climb back up but I don't think there is any significant fix I can do. Tomorrow I'll continue to try and squeeze another few frames out of it.

Share this post


Link to post

I think it's really just lots of little things coming together to bring down fps, if I keep removing stuff it will gradually climb back up but I don't think there is any significant fix I can do. Tomorrow I'll continue to try and squeeze another few frames out of it.

 

I noticed with Leadwerks...if I make too many little models it lags the engine ... I combined them all into 1 model and it increased the fps...

 

Maybe hold some models in an array and then have them load up just before coming into view?

Share this post


Link to post

I set it to spawn 0 enemies (the level is set to have 12 as default) and I get another 10fps, so that's 30fps total with no map objects visible or enemies at all. Satisfactory fps but not really a playable game.

 

I notice if I just leave everything as is, looking at the town I get 12-15fps, looking away from town it goes up to 20fps.

 

I tried occlusion culling true/false before and it made not much difference so I opted to leave it set to false. Leaving it at true tends to make things flash or popup more, especially at lower fps. I think the view ranges give me more gains on the outdoor level anyway. Also tried removing shaders, 1024x768, lower antialiasing, lower lighting but these make little to no diff on the fps.

 

I think it's really just lots of little things coming together to bring down fps, if I keep removing stuff it will gradually climb back up but I don't think there is any significant fix I can do. Tomorrow I'll continue to try and squeeze another few frames out of it.

I think there's one big inefficient thing in there that is eating lots of power. Try calling this to get more info:

context:DrawStats(0,200,true)

 

Josh, are you still updating shadows every single frame?

Directional lights do, point and spot lights only render if something has changed.

Share this post


Link to post

We have talked a little about this before.

http://www.leadwerks.com/werkspace/topic/8857-leadwerks-31-framerate-low/page__st__40#entry83897

 

Isn't every frame a bit much?

The human visual system can process 10 to 12 separate images per second, perceiving them individually. If your game is getting 100 fps. Currently the engine is doing 100 shadow updates per second. But your visual system only processed 10 to 12 updates. To me, updating sooner than 9 Or 10 fps is a waste of performance.

Share this post


Link to post

If we could get static to update at around 1 to 5 fps... Static shadows really shouldn't be moving.

 

Bring back lightmaps, it could even be optional. We are a step closer to getting GI then xD

Share this post


Link to post

If shadows aren't updated you will see a discrepancy between the object motion and its shadows. It will appear very jerky. Your idea that we can only perceive 10 FPS doesn't make sense, because if that was the case you could just run the engine at 10 FPS.

 

Our lighting system is one of the main reasons people use Leadwerks. I heard requests for years to lower the required specs, use lightmaps, etc., and when I actually tried that it flopped.

 

You will have to take care to test performance and do some trial and error to make your framerate optimized. You can set some lights to only cast shadows on static objects, in which case they will never need to be re-rendered.

Share this post


Link to post

Our lighting system is one of the main reasons people use Leadwerks. I heard requests for years to lower the required specs, use lightmaps, etc., and when I actually tried that it flopped.

 

I do remember stumbling across a thread about lightmaps which was integrated into Leadwerks through a 3rd party application, can't remember the name of it now though.

 

It would be pretty sweet to be able to do it in Leadwerks optionally. I just feel that a focus on graphical capabilities should be looked at now.

 

I realize that people want to see more things to help with gameplay. I just want to see some up to date things such as the PBR and GI. With these things I think Leadwerks would be a real powerhouse, the tools for making game content are moving this way to accommodate game engines with these capabilities so to keep up with the current pace of tools I think Leadwerks should get these things.

 

I want to get back to using the engine really badly its the simplicity that makes things so much easier, I keep jumping between engines messing around with things but I gotta say Leadwerks just reels me back in, away from the big engines that are dominating the industry.

 

I understand you want to keep things fresh and unique but your also making it harder on yourself at the same time.

 

This is just my thoughts right now. I don't think I will ever really move to a completely new engine and abandon Leadwerks but without these graphical capabilities in the engine it makes it difficult for me to use the tools I have to make my game ideas, which is pretty much stopping me from making my game ideas haha.

 

That's all from me anyway biggrin.png

Share this post


Link to post

@reepblue

 

 

3b- OH MY GOD THIS! I understand that OpenGL is a different animal than DirectX, but it's just silly that a mid-range PC like mine can run UE4 at 60fps while it looks like a Hollywood blockbuster film, while the LE showcase map or the Vectronic Demo dips to 45fps at times, and it looks like the Source Engine! (Not that's a bad thing) This really needs to be fixed/optimized better, no one should have a GTX 980 just to play any LE game at 60fps.

 

LE3 is just asking too much power to run the simple FPS demo blocking at 30 fps , while on my laptop while i run Crysis sdk demo island with some decresed settings at same 30 fps, and that island demo has a tons of things going on from advanced lightening/effects/shaders/water/ennemies/real time GI/PBR.

 

If LE3 was displaying PBR, advanced lightening , GI, using reflection probes and shaders, tone mapping , eye adapation , natural bloom , quality DOF and many other advanced effects i would say it's ok to see 30 or 15 fps, but LE3 just display basic lightening and shaders and no advanced quality effects.

Why my game should ask a big or medium PC while it just display old shaders and simple lightening ? should i not make the game in UE4 instead to have a really lot better looking game running at the same speed ?

you can't convince 3d artists running LE3 fps demo slower than UE4 FPS demo runing with more features and shaders and looking better.

 

We are not on the same side of game dev, i am lot more in the high level tools side and 3d art making and animations, so like with coders we will never understand each other, and we don't expect same tools or engine features simply sleep.png

 

Anyway there is still lot of people and coders needing simple to use engine , with simple pipeline, that don't care about GI or PBR or could not use them and prefer simple normal/specular shader , so LE3 like some other small engines are the response to that need.

I see the plugin system and gameplay DLC as the real priority for LE3, but it is just my opinion not adapated to coders opinion enjoying LE3. So no need to pay attention to my opinion and no need to justify anything, you like chocolate and i just perfer vanilla laugh.png

Share this post


Link to post

I don't understand Josh at all.. If you can make better sellings by applying standard technology to your product why is it bad? UE4 or Unity is not free at all, they are maybe free to use and by being free to use they are not in a bad situation at all, they are only growing. Leadwerks lacking many tools, and support for other standard software when it comes to game development. This why not many at all will be able to:

1) deploy a game

2) show how good Leadwerks is for other developers

Even Jmonkey using PBR right now. How could this happen?=).

Share this post


Link to post

A lot of le3 users have tried other engines but then come back to le.

The reason for that is a straight forward easy to use api and some great editor tools.

I have been around since le 1.10 and enjoyed every minute. I don't know if le4 will ever emerge or if Josh will continue to improve le 3, but I am confident he will. its just a matter of time.

Share this post


Link to post

A lot of le3 users have tried other engines but then come back to le.

The reason for that is a straight forward easy to use api and some great editor tools.

I have been around since le 1.10 and enjoyed every minute. I don't know if le4 will ever emerge or if Josh will continue to improve le 3, but I am confident he will. its just a matter of time.

 

This is what I like to hear haha. I have tried all the big engines but always come back to Leadwerks for its simplicity. Better graphical capabilities will put Leadwerks in a very positive position. I can only see good things from it. Leadwerks has its uniqueness now with its simplicity, ease of use, efficient workflow, great editor. A focus on graphics would be brilliant. If GI and PBR come to Leadwerks and Josh advertises that on the appropriate channels I can see a ton of users coming his way and a lot more content coming from Leadwerks.

 

You got this new vegetation system coming, the flowgraph, script editor, simple yet vast API, C++ and LUA programming languages, the new features that got released in the last update, deferred decals, render targets. Improving the visual side of Leadwerks with GI and PBR is just the icing on the cake here. It makes Leadwerks compatible with the latest tools, improving the workflow even more. Opening the doors to new users who do use these new tools. It's a win.

 

I am dying to see this stuff come to Leadwerks and when it does I will be shifting my projects back over. Right now it feels like I am fiddling my thumbs in UE4 and Leadwerks is taunting me with its potential sexiness lol.

 

I am waiting for the graphic improvements (really wanting GI and PBR) as soon as this happens I will be opening up my project Phobia again and getting my hands dirty with Leadwerks #revivephobia

 

P.S, the hashtag isn't a real hashtag its just for emphasis ;)

Share this post


Link to post

I've had my concerns for a long time now and it looks to me that projects are growing fps issues are becoming more apparent.

 

In the grand scheme of things my projects don't have that much content in them, but I feel the engine is struggling already on my desktop. My hardware is a little dated, but still plays every game I throw at it, and with respectable graphics quality too.

 

Just setting the view distance to medium in LE does nothing to help my fps. I don't know where the problem lies I don't even think its with the lighting. I just keep coming to the conclusion that there is an issue somewhere. I really hope/depend on more work done in the optimisation space.

Share this post


Link to post

..from my personal experience, tied to LE2.x, it was similar situation, back then, regarding speed..however, i was able to tweak plenty of things (framework of renderer and vfx, if im not mistaken, were delivered in source form, BMX), and get proper frame rate, which includes some changes on shaders side...i dont know is it same with LE3, but if it is, it should be modable...

Share this post


Link to post

No one here thinking that Leadwerks is a bad engine. It is my number one on he list of all game engines. But Josh could help our community by deploying new technology to the engine instead of spend time on game launcher (in my opinion). Time never stay still and technology is moving forward and same must be done with the engine. If 90% of all AAA games use PBR why not to do this for LE3?

Share this post


Link to post

..well..I do not know why..if you as a LE3 user cant answer that, then i cant do it for sure as im not using it at all :) .. im wearing JME3 dress some time now, but i just thought LE3 is configurable on the same way LE2.x was..

Share this post


Link to post

..these are some shots, several years back, during ancient era of LE 2.3..scene is much larger than anything done in LE3 i saw here, it runs a lot of effects including water (its behind dome), and all that over 50 FPS..what im trying to say is, maybe some optimization could boost up LE3, from user side? I cant see any reason why LE3 will run slower than LE2.3, on much more powerful hardware than 2.3 was running and coded in C++ which is vastly superior in speed compared to BMX which was LE2.3 variant compiled against..after all, from what I understand, LE3 is a general purpose engine..if that is correct, that means, its not fit for any particular genre, which brings developer to craft it additionally in a form of project, one is working on...

 

TEST_2015_09_03_13_42_43_50.png

 

TEST_2015_09_03_13_43_48_18.png

 

TEST_2015_09_03_13_51_06_87.png

 

TEST_2015_09_03_13_51_25_87.png

 

TEST_2015_09_03_13_52_16_68.png

 

TEST_2015_09_03_13_52_25_72.png

 

TEST_2015_09_03_13_52_46_83.png

 

TEST_2015_09_03_13_53_01_45.png

Share this post


Link to post

Those screens man, I feel like if that was LE3, it would run at 35-40fps, and the frustum culling problem (that I at least seem to have) would ruin immersion. I debate with myself if the issue is us not knowing how to optimize the engine on our side, or the internal workings of the engine. Over the last page, Josh gave us hints on how to improve our games, but I feel that wouldn't be enough. I'll have to see when I start the project again. (Been busy).

 

@YouGroove: Yes, Leadwerks right now seems to be more aimed at the game designer/programmer, than artists. I still think a simple shader editor would help a lot though.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...