Elvas Tower: Memory usage limit in OR? - Elvas Tower

Jump to content

  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

Memory usage limit in OR? Rate Topic: -----

#16 User is offline   Lindsayts 

  • Superintendant
  • Group: Posts: Elite Member
  • Posts: 1,849
  • Joined: 25-November 11
  • Gender:Male
  • Country:

Posted 18 April 2013 - 02:15 PM

I have just done some observations on the stuttering, The system is.....

MB ASUS P6X58D Premium
CPU i7 940
Ram 12 gig at default clock (1066mhz)
GPU Gigabyte Radeon HD 7870

The route was the Bernina Bahn.

I found the stuttering consistently started occuring above 3200 render primitives (at around 72fps). The amount of memory displayed or the number of objects loaded did not have anything like the same close relationship with the stuttering.

The highest number of render primtives was around 4800 this was at around 47fps, badly stuttering.

If one pointed the camera in a different direction where the scene was not as cluttered one would see the same amount of memory in use the same objects loaded but the render primitives would be way down and no stuttering.

The 2 gig of ram or the more powerfull GPU card (the previous card was a 5870) made not a bit of difference so one assumes its the render thread getting overloaded (its running at 99%). Would it be worthwhile considering splitting the terrain rendering (this would be the largest single item rendered) on to a different thread? Or in fact splitteing the rendering thread so 2 processor can be used (Note 1).

Note, While I have as yet to extensively test it an NVidia GTX 570 does similiarly stutter in the same places on this route, so it does not appear to a particular brand problem. I will put up the results of a test with that system in the next few days.

Note 1, If this is done one will have to watch the memory bus is not being overlaoded, this was a design problem of SMP systems pointed out as far back as the late 1980's, ie that in an SMP system it was possible for a single cpu to flood the memory bus.

Lindsay

#17 User is offline   jtr1962 

  • Fireman
  • Group: Posts: Active Member
  • Posts: 185
  • Joined: 13-December 09
  • Gender:Male
  • Country:

Posted 19 April 2013 - 01:39 AM

View PostJames Ross, on 18 April 2013 - 12:58 PM, said:

Do you have the "Use glass on in-game windows" option enabled? There's a potential for that to cause issues like this, so try turning it off.

I tried it both ways with the same result. It doesn't happen all the time, just mainly in areas with dense scenery.

#18 User is offline   ChrisD 

  • Hostler
  • Group: Posts: Active Member
  • Posts: 78
  • Joined: 19-March 13
  • Gender:Male
  • Simulator:OR
  • Country:

Posted 19 April 2013 - 08:30 AM

View Postjtr1962, on 19 April 2013 - 01:39 AM, said:

I tried it both ways with the same result. It doesn't happen all the time, just mainly in areas with dense scenery.


I do not have the Bernina Bahn, but using a couple of other Routes, I have used GPU-Z to log the load on the graphics card.

My finding is, that when the stutter takes place, GPU load is 100% according to the GPU-Z Log.

Loader percentage goes up at these moments as well.

Trying out a less powerful Graphics Card, shows more instances of GPU-load at 100% according to GPU-Z.

I will try to make OR Log the Render, Update and loader percentages, to see if there is a coincidense with the GPU-Z log.

My keenest wish right now, is a more powerful Graphics Card with the new PCI-E 3.0 interface.

When we have nailed it down, we can ask the OR Team to look into this, but I think we need more knowledge about the nature of this problem.

Last but not least, this is beta code and there may be some debugging code built in, that increases load.

This will not be there in the release version.

I think OR has come a long way already, and I am sure that the OR Team wil take care of the problem in due time. :sign_thanks:

Happy Railroading.

ChrisD

#19 User is offline   disc 

  • Foreman Of Engines
  • Group: Private - Open Rails Developer
  • Posts: 818
  • Joined: 07-October 12
  • Gender:Male
  • Simulator:OpenRails
  • Country:

Posted 19 April 2013 - 08:54 AM

View PostLindsayts, on 18 April 2013 - 02:15 PM, said:

The 2 gig of ram or the more powerfull GPU card (the previous card was a 5870) made not a bit of difference so one assumes its the render thread getting overloaded (its running at 99%). Would it be worthwhile considering splitting the terrain rendering (this would be the largest single item rendered) on to a different thread? Or in fact splitteing the rendering thread so 2 processor can be used (Note 1).


overloaded render thread alone doesn't cause stuttering, but steady low fps.
By the way, it's not possible to split rendering thread to more threads, if it would then this problem wouldn't appear in every open world games :sign_thanks:
Same happens with TS2013 (for example i have there max 30 fps, while the gpu usage is at 50%, and it's caused by the same problem. Too many objects to be drawn, and the one cpu core is limiting the render thread), or in Arma series, Flight simulators, everywhere where is a big open world is rendered.
That's why an i7 is absolutely useless above i5 in games, and same applies on amd FX 8xxx vs 4xxx. Because of these limitation the open world games run better on fewer but faster cpu cores, than on more, but slower cores.
I heard directx 11 have support for multithreaded rendering, but isn't too good in reality. In directx9 which is used by OR, multithreaded rendering absolutely not supported.
The number of the draw calls, and so the overload of render thread could be lowered mostly by the route editors and the object modelers by making routes and models by considering that each individual nodes need a seperate draw call, so use 1 material for one objects, and combine objects and materials as it's possible (for example if you want to place a forest, use one single forest object instead of many seperate tree objects.
Another thing that can make it better, is draw call batching by the 3d engine, but that's not a simple task, and it have it's limitations.

Bernina bahn is the worst example if we look at the draw call efficiency. On some parts i even see 9000 render primitives, which is extremely high.

This is why every route editors, and 3d modelers should read this: http://wiki.uktrains...n?pageId=426074

(PCI express is 3.0 has nothing to do with performance, it's a marketing BS. In reality, even the fastest dual gpu video cards are VERY far from reaching the limits of 2.0...)

#20 User is offline   PA1930 

  • Foreman Of Engines
  • Group: Posts: Contributing Member
  • Posts: 782
  • Joined: 16-December 12
  • Gender:Male
  • Simulator:-
  • Country:

Posted 19 April 2013 - 10:04 AM

Hello everyone.
I didn't want to create a different topic as I'm thinking this question could be posted here.
Truth to be said, I don't understand so much about computers and graphic cards even less...
So I'd like to ask the following question that I'm guessing it could be posted here:
Is it possible that, on my computer, MSTS seams to run fine on a very decorated route, while on Open Rails it barely moves? I use MSTS with the "-mem:1024" option and it seams to be a good thing for my current PC. I am aware it is not the best PC (its even a laptop, I'm guessing it sort of makes things worse... From what I can tell, my PC's processor is an Intel Core 2 Duo with 2.4Ghz, and I have 3GB of RAM memory. The graphics card should be an "Mobile Intel 965 Express Chipset Family". I was told it is nothing so special, but I somehow have had TS 2013 working a bit faster than Open Rails (don't ask me how... I have had the graphics in the minimum quality).
Though is it normal for OR to be slower than MSTS? I was always told that OR should work faster than MSTS...

#21 Inactive_nyc01_*

  • Group: Status: Passengers (Obsolete)

Posted 19 April 2013 - 10:12 AM

View PostChrisD, on 19 April 2013 - 08:30 AM, said:

I have used GPU-Z to log the load on the graphics card.


It's well known that GPU-Z is not a good indicator of just how much load is being put on the GPU.



Quote

My keenest wish right now, is a more powerful Graphics Card with the new PCI-E 3.0 interface.


PCI-E 2.0 isn't even saturated yet with games that use modern DirectX 11 game engines, PCI-E 3.0 will do pretty much nothing right now for OpenRails.

I've been running a GTX 680 and AMD 7970 on Z77 chipset based motherboards with PCI-E 3.0 and haven't seen any benefit over using the same two PCI-E 3.0 cards on an older chipset with PCI-E 2.0.

#22 Inactive_nyc01_*

  • Group: Status: Passengers (Obsolete)

Posted 19 April 2013 - 10:30 AM

View Postdisc, on 19 April 2013 - 08:54 AM, said:

if it would then this problem wouldn't appear in every open world games


The problem doesn't exist with every open world simulation game engine, it all comes down to how the game engine was written to begin with.




Quote

That's why an i7 is absolutely useless above i5 in games


Not completely true since a lot of those sims/games will take advantage of the added cache, so as long as that i7 is running at the same clock speed as the i5 there is an advantage.



Quote

I heard directx 11 have support for multithreaded rendering, but isn't too good in reality.


DirectX 11 (and the latest OpenGL) is about much better GPU utilization. As an example it is possible to get all of terrain/object placement calculations on the GPU which would provide much better results then using the CPU.

In addition with DirectX 11 and up to date OpenGL releases it is also possible for the GPU to process computational physics a lot faster then it can be done on the CPU.

#23 User is offline   ChrisD 

  • Hostler
  • Group: Posts: Active Member
  • Posts: 78
  • Joined: 19-March 13
  • Gender:Male
  • Simulator:OR
  • Country:

Posted 20 April 2013 - 02:01 AM

View Postnyc01, on 19 April 2013 - 10:12 AM, said:


PCI-E 2.0 isn't even saturated yet with games that use modern DirectX 11 game engines, PCI-E 3.0 will do pretty much nothing right now for OpenRails.

I've been running a GTX 680 and AMD 7970 on Z77 chipset based motherboards with PCI-E 3.0 and haven't seen any benefit over using the same two PCI-E 3.0 cards on an older chipset with PCI-E 2.0.


How do these cards fare with OR?

Right now I am using a Radeon HD 6790 and is considering an upgrade. More shaders and more ROP´s must to do some good, or ??

ChrisD :)

#24 User is offline   disc 

  • Foreman Of Engines
  • Group: Private - Open Rails Developer
  • Posts: 818
  • Joined: 07-October 12
  • Gender:Male
  • Simulator:OpenRails
  • Country:

Posted 20 April 2013 - 04:10 AM

View Postnyc01, on 19 April 2013 - 10:30 AM, said:

The problem doesn't exist with every open world simulation game engine, it all comes down to how the game engine was written to begin with


No, it can't be written otherwise. To draw objects you need to send draw calls. It all depends on how many objects are drawn.

#25 User is offline   rdamurphy 

  • Open Rails Developer
  • Group: Private - Open Rails Developer
  • Posts: 1,199
  • Joined: 04-May 06
  • Gender:Male
  • Location:Thornton, CO
  • Simulator:MSTS - OR
  • Country:

Posted 20 April 2013 - 07:03 AM

In reality - and I say that with all sincerity: CPU's have gone from 16 bit to 32 bit to 64 bit from one core to 8 cores and hyperthreading. RAM has gone from 33mhz DIMM to 1600mhz DDR3, and even higher now. MB's have gone from ISA slots to PCI to PCI-E and from AGP to PCI-E 3.0. We've gone from IDE-33 to SATA 3.0.

And guess what? You still have a spinning metal disc with a rotary arm that can only read one bit at a time in a linear fashion just like it did in an 8086 with a whopping 2MB hard drive.

My guess is, 99 times out of a 100, MSTS, OR, or any other game, including DVD and HD video, when you see stuttering, that little green light that indicates Hard drive activity is stuttering right along with it. I'm sure that will improve when Solid State hard drives catch up in price and capacity with the "old school" hard drives, but right now,

If you have enough RAM (I have 16 Gigs), create a RAMDrive and put an MSTS install on it and run an intensive route.

You'll be convinced very quickly.

Robert

#26 Inactive_nyc01_*

  • Group: Status: Passengers (Obsolete)

Posted 20 April 2013 - 09:48 AM

View Postdisc, on 20 April 2013 - 04:10 AM, said:

No, it can't be written otherwise.


A game engine can't be written to take better advantage of the hardware (in this case the GPU)?

Then how is it that this engine is almost completely GPU dependent and allows unlimited visibility and very detailed terrain while all the while providing excellent performance -

http://www.outerra.com/wfeatures.html

Features Summary-

Realistically looking terrain with high detail
Unlimited visibility, detail ranging from thousands of kilometers down to centimeters
Real time atmospheric rendering
Rendering of vast dense forests and grass
Seamless transition from space down to the planet surface
Adaptive LOD with continuous transitions. Elevation data are preprocessed using special wavelet compression, the required level of detail is extracted effectively on the fly
Partitioned compressed dataset can be downloaded progressively over the web
Fractal refinement mimicking the natural processes (erosion, rocks, overhangs)
Procedural texture generator combining mathematical models and climatic data
Bitmap overlays for specific areas
Vector data - roads, rivers, land class polygons
Uses OpenGL 3.3
Dynamic shadows
Fully asynchronous multi-threaded design able to utilize all available CPU cores
Terrain and fractal algorithms runing completely on the GPU
Stable frame rate system
Supports arbitrary and varying resolution of elevation datasets, refined to centimeter resolution by fractal algorithms
Embedded web browser allowing for direct web service integration
Supports COLLADA 3D model file format
Integrates a Flight Dynamics Model library for high fidelity simulation of aircraft, rockets
Global physics engine for simulation of vehicle physics and collision detection



Quote

To draw objects you need to send draw calls. It all depends on how many objects are drawn.


It's pretty much common knowledge that OpenGL has faster draw calls than DirectX, maybe a revaluation of going down the DirectX path should be made?

#27 Inactive_nyc01_*

  • Group: Status: Passengers (Obsolete)

Posted 20 April 2013 - 09:56 AM

View PostChrisD, on 20 April 2013 - 02:01 AM, said:

How do these cards fare with OR?

Right now I am using a Radeon HD 6790 and is considering an upgrade. More shaders and more ROP´s must to do some good, or ??

ChrisD :)



I put up some screen shots taken with a GTX 680 in this thread -


http://www.elvastowe...e-bernina-bahn/


Although I also use a AMD 7970 which is a very powerful video card I would not recommend AMD if you are primarily running older DirectX 9 games, mainly because of how poor image quality it. Newer DirectX 11 sims/games are a different story.

I just got a Nvidia Titan so when I get a chance I'll post some results with that new GPU.

#28 Inactive_nyc01_*

  • Group: Status: Passengers (Obsolete)

Posted 20 April 2013 - 10:10 AM

View Postrdamurphy, on 20 April 2013 - 07:03 AM, said:

And guess what? You still have a spinning metal disc with a rotary arm that can only read one bit at a time in a linear fashion just like it did in an 8086 with a whopping 2MB hard drive.


I went to primarily using SSD's a while ago.



Quote

My guess is, 99 times out of a 100, MSTS, OR, or any other game, including DVD and HD video, when you see stuttering, that little green light that indicates Hard drive activity is stuttering right along with it. I'm sure that will improve when Solid State hard drives catch up in price and capacity with the "old school" hard drives, but right now,


Sounds like your running some pretty archaic games?

I haven't seen HD/SSD activity/associated stuttering in any game for a very long time now. Better memory management in up to date game engines took care of that problem a while ago.



Quote

If you have enough RAM (I have 16 Gigs), create a RAMDrive and put an MSTS install on it and run an intensive route.


I have, but as many others have mentioned over the years I didn't see any real noticeable improvement over say having MSTS on one SSD and the OS on another.

#29 User is offline   disc 

  • Foreman Of Engines
  • Group: Private - Open Rails Developer
  • Posts: 818
  • Joined: 07-October 12
  • Gender:Male
  • Simulator:OpenRails
  • Country:

Posted 20 April 2013 - 11:10 AM

View Postnyc01, on 20 April 2013 - 09:56 AM, said:

AMD if you are primarily running older DirectX 9 games, mainly because of how poor image quality it. Newer DirectX 11 sims/games are a different story.


Absolutely not true(actually the opposite is the legend, that amd/ati have better image quality than nvidia). There is nothing wrong with image quality under directx 9 games on amd cards. Actually the api has nothing to do with image quality.

Outerra is a nice techdemo, but if i set the tree quantity higher, the same happens as in or, or ts2013, or arma or every open world engine... as the draw calls reaching one cpu core limit in render thread, fps starts to fall... Opengl is faster of course, that's not a surprise as directx is meant as another vendor lock in technique from microsoft...

#30 Inactive_nyc01_*

  • Group: Status: Passengers (Obsolete)

Posted 20 April 2013 - 11:57 AM

View Postdisc, on 20 April 2013 - 11:10 AM, said:

Absolutely not true(actually the opposite is the legend, that amd/ati have better image quality than nvidia). There is nothing wrong with image quality under directx 9 games on amd cards. Actually the api has nothing to do with image quality.


Really, I suggest you take a good look around in various forums, I'll be happy to give you links. AMD/ATI lost there edge in image quality a long time ago, I've been watching it happen since the day's of the 9700Pro.

I don't run very many DirectX 9 sims/games anymore but OpenRails, TS2013 and few older racing sims and flight sims I run all without a doubt look better on Nvidia. Again just take a look in any flight sim or racing sim forum. UKTrainsim as well as Trainsim.com (justed 2 weeks ago actually) have had plenty of discussion about poor image quality with RailWorks/TS2013 (another DirectX 9 game) and ATI/AMD.

How about the latest bugs in AMD Catalyst drivers that prevent you from forcing super-sampling AA and v-sync on OpenRails, is that completely wrong also?



Quote

Outerra is a nice techdemo, but if i set the tree quantity higher, the same happens as in or, or ts2013, or arma or every open world engine... as the draw calls reaching one cpu core limit in render thread, fps starts to fall... Opengl is faster of course, that's not a surprise as directx is meant as another vendor lock in technique from microsoft...



Have you run the Outerra demo? If so on what hardware because I haven't seen any major performance hit with all those trees on the three different setups I've been running Outerra on over the last two years.

As far as the Outerra/TS2013 comparison goes, well obviously they can't be compared because just like what we've seen with other DirectX 9 game engines it's primarily CPU dependent and is a totally different animal compared to Outerra.

  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users