The online racing simulator
LFS and the future? (CPU Physics)
(21 posts, started )
LFS and the future? (CPU Physics)
CPU physics ughh or mmmm hot coffee.

Game physics is at the heart of any modern game engine which employs the laws of physics to simulate life ....... Read more

DX11 is looking good for simulators with CS (Compute Shaders). I think the main problem with the current physics hardware is cross platform compatability, with both AMD Nvidia and Intel all pushing for their own interpretation of how it should be implimented. So far current games with the havock/physx API have really been quite dissapointing. So is this more hype and less content that we continually see from much larger publishers?

If you got time to read the asscoiated pdf Scawen, Eric or Victor and time to waffle, I would like to hear your thoughts on this. Again this also goes out to any other experienced programmers/developers or physicians, or if like me your a bit of a geek.

It seems almost a lifetime since the introduction of a 64Bit OS and single Core machines are in their last years of life for gaming. But we still have a lack of native 64bit games and still the majority of games do not utilise the multiproccessing capabilty of modern PC's.

Windows 7 is only half a year away from release (if you look at the current progress of developement) Shipping with DirectX11.
I know the sound system and a few other things perhaps had to be re-written for Vista, i guess my main questions are...

With LFS having such a small team of Developers, are you looking to adopt the DX11 API at some point in the next few years?

If so where and what do you think are the benefits?

Do you see the GPU as means of Offloading physics within LFS in the future?



Anyways, as usual coffee is now stone cold >
Why would they? The physics calculations now take about 5% CPU time - most slowdown is caused by the calculations the CPU has to make for the graphics. If you fast-forward in a single player replay, LFS uses all CPU just for physics, and it easily manages to do that faster than realtime even with loads of AI cars.

Also this would be a major major task. It would make much more sense to make LFS multicore compatible than making a copy of the physics engine that probably needs to be considerably altered to even run on the graphics card. Don't forget that you then have to maintain two physics engines, one for the people with such a card and the other for ones without. The benefits are practically zero.
i'm going to take a stab in the dark and say "probably not", for two reasons:

1) LFS doesn't consume much CPU to begin with, it's still runnable on low-end machines as long as they have a somewhat decent video card.

2) DX has always been backwards compatible. even if DX11 ships with W7, it should still be able to support LFS.

while i can't speak for sca/vi/er, i can't see them dropping everything to turn their code inside out to support the latest versions of everything, just because they exist.
Hey Al.....

I do think it's a difficult one with development like this. One thing I love about LFS is the fact that the community feel of the game and amount of people consistently playing it comes from the fact you can play on a lower end PC as well as high end.

If we're looking at pushing LFS toward that goal, a good amount of lower end PC drivers might be alienated.......

Surely for LFS, its as much about the other things to the actual shaders etc. I haven't yet read the PDF but will tonight
Quote from AndroidXP :Why would they? The physics calculations now take about 5% CPU time - most slowdown is caused by the calculations the CPU has to make for the graphics. If you fast-forward in a single player replay, LFS uses all CPU just for physics, and it easily manages to do that faster than realtime even with loads of AI cars.

Also this would be a major major task. It would make much more sense to make LFS multicore compatible than making a copy of the physics engine that probably needs to be considerably altered to even run on the graphics card. Don't forget that you then have to maintain two physics engines, one for the people with such a card and the other for ones without. The benefits are practically zero.

Yes thats the issue as its has always been with game developement on the PC, from my experience. But thats not really the point android. It is always a chicken and egg kinda situation with this.
Does LFS not require a shader compatible card? (vertex)

I agree with the multicore notion, but i expect in the next few years that GPU is going to be X86 compatible. If you look at that PDF intel seem to be pushing this hard.

Like i said originally this isnt somthing to happen overnight (unless scawen grows a 2nd brain and four arms & clones a copy of that) Im looking mid 2011
here
You don't need a physics accelerator if you just want driving physics. A modern CPU is capable enough to do that.

If you do want millions of physics objects, cars that fall apart to the last screw and 4096x4096 pixel textures for something the size of a traffic cone, than yes, a physics accelerator might come in handy to offload the cpu. But i hope LFS will focus on decent driving physics.

By the way, those accelerators only support rigid body physics. The most difficult part of LFS's physics are the tires, which aren't rigid bodies.
Quote from bunder9999 :i'm going to take a stab in the dark and say "probably not", for two reasons:

1) LFS doesn't consume much CPU to begin with, it's still runnable on low-end machines as long as they have a somewhat decent video card.

2) DX has always been backwards compatible. even if DX11 ships with W7, it should still be able to support LFS.

while i can't speak for sca/vi/er, i can't see them dropping everything to turn their code inside out to support the latest versions of everything, just because they exist.

1) I disagree here. Maybe with a few cars things. Put that to 32+ online its a horror story on older machines. Maybe under 30 FPS is ok for some, but personally anything less then 60> locked is again horrible.

2) Yes but emulated. If you check the RC7100 of W7 you will find thats has DX11.

> I dont expect LFS to ever change to DX11. The question is if? and if so how? and as we are doing now ... why.
Quote from kingfag :You don't need a physics accelerator if you just want driving physics. A modern CPU is capable enough to do that.

If you do want millions of physics objects, cars that fall apart to the last screw and 4096x4096 pixel textures for something the size of a traffic cone, than yes, a physics accelerator might come in handy to offload the cpu. But i hope LFS will focus on decent driving physics.

By the way, those accelerators only support rigid body physics. The most difficult part of LFS's physics are the tires, which aren't rigid bodies.

Yes the point i made about offloading intructions to the GPU is IF they become x86 compatbile.
Not to mention off loading all the rigid body to GPU perhaps enable a much deeper implimentation of the more complex tyre physic code. Scawen has mentioned debris and damage, this also would benefit and encourage this "offloading" ?
#9 - JeffR
Quote from Gener_AL (UK) :Yes the point i made about offloading intructions to the GPU is IF they become x86 compatbile.

That's not the point of the GPU's. Multi-core cpues will deal with the x86 stuff. Where GPU's can help is with stream processing like operations where parallel calculations can be done. For example the physics calculations of multiple cars done in parallel, using GPU's on a PC similar to the math units of vector processors
@Gener_AL (UK): I think you're "missing the point" here
  1. This is a serious "what if" issue you bring up here.
  2. I'd say good market saturation to consider dropping non-physics-accelerated GPU support would be at least 5+ years from now on, not mid 2011 (I think you implied that, regarding the vertex shader remark).
  3. Speaking of vertex shaders, consider that AFAIK the first cards supporting it (GF3 IIRC) were released in 2001, and I believe LFS still supports cards without HVS. Just the option to turn off HVS manually was removed in patch X or so.
All this considered, any thoughts about GPU accelerated physics are pure speculation. I'm sure the devs have no friggin' idea what they're going to do in regards to such a specific case in two yet alone 5+ years from now on. What answer do you expect? "Maybe?" "Not likely?" There's no point discussing this.

Even if we magically had this feature in all cards from now on, what would be the point? To make use of this the first thing you need is highly complex physics to make the change worthwhile. At the current development speed LFS doesn't even add basic features that would be no issue CPU wise, what makes you think LFS will have enough substance to make this change necessary at any point? Maybe if they were to simulate individual pebbles on a gravel road...

IMO GPU physics were intended for one thing only, namely optional physics based GFX effects. Eyecandy. Making it do more doesn't really make sense. What's there left for the CPU to do then? Multicore support makes sense and it's a reasonable expectation to have this implemented in the future. GPU physics... not.
Quote from JeffR :That's not the point of the GPU's. Multi-core cpues will deal with the x86 stuff. Where GPU's can help is with stream processing like operations where parallel calculations can be done. For example the physics calculations of multiple cars done in parallel, using GPU's on a PC similar to the math units of vector processors

Yes i understand the basic principles, is it that perhaps GPU's are heading back to software rendering, what i mean is the fusion of both the GPU/CPU in theory (with the limited knowledge i have) would bring the whole thing back around.

In the thread "elepahnt in the living room" i asked a question regarding the tyre physics and what percentage of CPU cycles it would consume?
Again leading speculative discussions, if no-one has solid figures.

Quote from AndroidXP :@Gener_AL (UK): I think you're "missing the point" here
[list=1][*]This is a serious "what if" issue you bring up here.
[*]I'd say good market saturation to consider dropping non-physics-accelerated GPU support would be at least 5+ years from now on, not mid 2011 (I think you implied that, regarding the vertex shader remark).
[*]Speaking of vertex shaders, consider that AFAIK the first cards supporting it (GF3 IIRC) were released in 2001, and I believe LFS still supports cards without HVS. Just the option to turn off HVS manually was removed in patch X or so.

Yes i do agree market saturation or adoption rate whatever you want to call it, is the determining factor.
Regarding HVS option, I had assumed that with the removal, LFS required it.
(I also assume that performance takes a big hit without)
Going back to the adoption rate. I think really a more pratical and comparable element to hardware required for LFS is the ratio of users that purchase a wheel, in relation to length of time owning LFS.

Quote from AndroidXP :All this considered, any thoughts about GPU accelerated physics are pure speculation. I'm sure the devs have no friggin' idea what they're going to do in regards to such a specific case in two yet alone 5+ years from now on. What answer do you expect? "Maybe?" "Not likely?" There's no point discussing this.

Yes its speculative and whats wrong with that? Without communication we would be in the dark ages no? Sorry if i sound like I am arguing, I just think its good to take a few educated guesses now and again.
I dont expect any awnser from the devs. I hope/
What can i say I am curious about the future hardware and its possible affect on the future of LFS.
Quote from AndroidXP :
Even if we magically had this feature in all cards from now on, what would be the point? To make use of this the first thing you need is highly complex physics to make the change worthwhile. At the current development speed LFS doesn't even add basic features that would be no issue CPU wise, what makes you think LFS will have enough substance to make this change necessary at any point? Maybe if they were to simulate individual pebbles on a gravel road...

Chunks of tyre falling off, dynamic track surfaces & debris & damage. Yes we can argue about LFS dev speed, so lets not. (as i dont think a discussion about dev speed will end any other way but in arugement)
Again lets look at the possible positives and keep a lookout for the cliffs edge.
I think LFS has a lot of potential, and yes given the right conditions to flourish, it may need to adopt a new approach.
Quote from AndroidXP :
IMO GPU physics were intended for one thing only, namely optional physics based GFX effects. Eyecandy. Making it do more doesn't really make sense. What's there left for the CPU to do then? Multicore support makes sense and it's a reasonable expectation to have this implemented in the future. GPU physics... not.

I do agree with you here, even the most high profile games with GPU physics have been a total letdown. UT3, Mirrors Edge (step in the right direction )
But we are repeating ourselves here. (see first post) and reply to JeffR in this post, as i think come 2011 the lines between the CPU/GPU will blur a little more.

ugh more coffee needed.
No independent developer will be adopting DirectX11 in the near-future. Before an indi developer can use an OS feature it must go beyond mainstream.

LFS is still Dx8 for a reason, and whilst at some point it is surely to receive a graphics update that will raise the DX requirements it is unlikely to ramp it up to a version of DX that precludes most of the potential userbase.

64bit processing is badly implemented on the Windows platform and consequently takeup has been slow, again, with no depth of user base no indi developer is going to touch it. Apple have this right, and Microsoft desperately need to get their act together and copy the Mac implrementation (where integration of 32 and 64 bit is seemless both as a user and a developer).

Multi-threaded applications are increasingly common, it is not that hard to program multi-threaded coded, I do it myself. Infact the Blue 2 system I have been developing in the background for LFS is a fully multi-threaded application. Currently LFS does not support multi-threading but I would not be suprised to see it implemented some time soon.

Physics libaries suite fps games and the such, they're great for developers to get results fast. They save development time and make mass calculations possible, but they also 'generify' the physics. Physics engines each have a certain 'feel' to them and consequently physics engines will be a waste of time in simulators for a long time yet, where the only sensible course of action is to develop a proprietry system.

Physics hardware, dependant upon their respective libaries, is a long way from use by indi developers. There just isn't enough market penetration of this specialist technology and unless it becomes integrated into the CPU or graphics chips it never will be, so you can rule out Aegia PhysX or siblings thereof.

I looked at nVidia's solution a while ago, it seemed ideally suited to doing bells and whistles with, but I wouldn't want to write a dedicated physics simulation with it. I'd use it to make leaves rustle on trees and the like, environmental or cosmetic stuff, but not car physics.

I havn't looked at the others to any level of detail.
Design used in current GPUs makes them very capable of parallel processing which is perfect to render an image as pixels are mutually independent, so you can calculate one without knowing a thing about some another. The point? Point is that this very specific design brings no benefit to physics acceleration unless the objects you are working with can be considered PARTICLES. Algorithms calculating tyre grip or aero physics can hardly be converted to be processed in such way, because you really cannot break air mass into small pieces and calculate them separately (Ok, there is CFD, but can you imagine GPU able to do it with reasonable speed?), tyres might be a slightly different story but it still would be awkward and complicated.

Every GPU-accelerated physics demonstration I have seen showed nice particle effects like a rock breaking into thounsands of small stones which then flew away colliding with each other. I dont see how can this be of use in car simulation physics. It might provide a nice eye-candy, but at the end of the day you still need a physics engine which would run on any CPU regardless any extra HW equipment to maintain 100% compatibility.

Lots of people (including me) dont have even DX10 compilant GPU, so I dont think that everyone will have DX11 one as soon as in 2011.
I hear if you run a 64bit OS you may have some compatibility issues with some programs.. and I for one don't want to upgrade to Vista as I'm waiting for 7 before I even think about it.

And while I do have a DX10 compliant card, it won't be able to play much on a DX10 setting..

I just wish the devs would realise that those who are still gaming on single core machines are the vast minority and would just bump it up a little bit to give most of us, with decent machines something to enjoy... Full field of 40 cars and I still get 50fps with 4xaa and 8x Af, I mean come on some eye candy please!

But either way it's not important as a good racer is too busy looking where they're going to worry about graphics.
You will actually have a ton os compatibility issues, especially when you try to run 100% native 64bit with 64bit software, not just the OS and drivers.

Hopefully the 90% of the eye-candy we could possibly have would have no to little impact on CPU load (Pixel Shaders, where are they? ), so we can hope to get some
Quote from Becky Rose :No independent developer will be adopting DirectX11 in the near-future. Before an indi developer can use an OS feature it must go beyond mainstream.

LFS is still Dx8 for a reason, and whilst at some point it is surely to receive a graphics update that will raise the DX requirements it is unlikely to ramp it up to a version of DX that precludes most of the potential userbase.

I partially agree, but yes LFS being so small a team and its niche userbase does perhaps impose this. On the flip side of the equation in your following quoted paragraphs..

Quote from Becky Rose :
64bit processing is badly implemented on the Windows platform and consequently takeup has been slow, again, with no depth of user base no indi developer is going to touch it. Apple have this right, and Microsoft desperately need to get their act together and copy the Mac implrementation (where integration of 32 and 64 bit is seemless both as a user and a developer).

The operating system as you say is key to developement and target audience.
Vista and W7 are going to be the established OS in the next two years wether we like them or not.
Both these support LFS in its current format and will be the dominant platform for the next decade near enough imo.
I think many are overlooking the fact that XP is going the way of the dodo by the year 2011+.
As a user of all 3 mentioned operating systems, this transitional period from xp>vista>W7 has seen the following benefits as painful and expnesive as they have been to users & developers.

A) 32-64bit era = more sytems with more memory
B) Majority of Vista/W7 users have at least DX9 generation card. (Estimated)
C) Multicore system userbase

Quote from Becky Rose :
Multi-threaded applications are increasingly common, it is not that hard to program multi-threaded coded, I do it myself. Infact the Blue 2 system I have been developing in the background for LFS is a fully multi-threaded application. Currently LFS does not support multi-threading but I would not be suprised to see it implemented some time soon.

Blue 2 I guess is waiting for somthing perhaps?

Quote from Becky Rose :
Physics libaries suite fps games and the such, they're great for developers to get results fast. They save development time and make mass calculations possible, but they also 'generify' the physics. Physics engines each have a certain 'feel' to them and consequently physics engines will be a waste of time in simulators for a long time yet, where the only sensible course of action is to develop a proprietry system.

This is a problem only in the sense of priority for development of LFS as i see it. As much as i would love some of the generic physics for detailing LFS, I think many fans of LFS will agree time is worth spent focusing on the games unique physics or as you put it the proprietry system, rather then the overall polish of the product.

Im not trying to say that LFS should take any particualr course of action regarding its evolution here. It's just the technology discussed here is taking a contructive step in unification in the not to distant future.

/Damn my coffee went cold again !
Quote from S14 DRIFT :I hear if you run a 64bit OS you may have some compatibility issues with some programs.. and I for one don't want to upgrade to Vista as I'm waiting for 7 before I even think about it.

Dual Boot is always an option and for some its a requirement either that or have a machine dedicated for legacy applications, or going one step further running some VMware type software.

Quote from S14 DRIFT :
But either way it's not important as a good racer is too busy looking where they're going to worry about graphics.

So very true.
Quote from MadCatX :Design used in current GPUs makes them very capable of parallel processing which is perfect to render an image as pixels are mutually independent, so you can calculate one without knowing a thing about some another. The point? Point is that this very specific design brings no benefit to physics acceleration unless the objects you are working with can be considered PARTICLES.

It's not just pixel stuff, the current crop of GPU's include generic floating point math in vector mode (4 to 16 operations in parallel), making them good when doing similar math on multiple obects, such as the 4 suspension components ina single car, or multiple car physics (though most games use simplified physics for AI cars). Click on the links from my previous post about stream procesing and vector processors.

Quote from Gener_AL (UK) :Dual Boot

It's also provides an easy means to back up and/or restor the primary OS partition (while running the "other" OS).
Quote from MadCatX :. I dont see how can this be of use in car simulation physics. It might provide a nice eye-candy, but at the end of the day you still need a physics engine which would run on any CPU regardless any extra HW equipment to maintain 100% compatibility.

This is why Larrabee for Intel and Fusion (bulldozer) AMD are so interesting.
Both, sorry all companines (lets not forget Nvidia for a moment here)
Intel and AMD have many cross liscencing patents on technology.
Nvidia are in trouble and in again my own personal opinion pushing physx and cuda as a means of existance in the future.

Quote from MadCatX :
Lots of people (including me) dont have even DX10 compilant GPU, so I dont think that everyone will have DX11 one as soon as in 2011.

Neither do I think that everyone will own DX11 card in 2011. But i do think Multicore CPU and X64 will be at the core of many home machines alongside DX9/10 Capable GPU.
The question i ask is why if you had a DX8+ engine plan for DX9 when the API from what i understand from 10 onwards is easier to expand upon for future revisions of the DirectX API. And from that logic apply that 10+ would be the next logical step.
Quote from Gener_AL (UK) :Blue 2 I guess is waiting for somthing perhaps?

Slightly OT but I just want to dispell a myth, I am no more in contact with Scawen and the devs than any other member of this community, i'm not waiting on the VWS or anything from Scawen, i'm working away slowly doing a few hours a week. It's taking time because I am mostly just enjoying the life I have built for myself rather than working night and day on projects.

LFS and the future? (CPU Physics)
(21 posts, started )
FGED GREDG RDFGDR GSFDG