News:

 

Topic: SlimDX + GPU  (Read 12831 times)

0 Members and 1 Guest are viewing this topic.

  • No avatar
  • Posts: 2103
  • Polygon
February 27, 2015, 03:47:30 pm
Hi IStonia,

Due to another post on forum, I have been looking at current viewport navigation.

I am curious as to what appears to be a limit on fps. In a new blank scene, rotating the viewport gives a max of approx 60fps. From my limited understanding, that can happen from use of SlimDX "Sample framework" [from searching the net, You can get around that by setting the Game.IsFixedTimeStep property to false]. Although of course I do not know if that is what is causing the apparent lock on fps.

Looking at an heavy scene (one posted to forum contained approx 6million polygons), although viewport navigation was usable, I did find that my GPU usage was only at approx 50% with fps between 12-26. So am wondering as to why my GPU is not being fully utilized on such a large polycount scene.


As comparison for GPU usage. I looked at an earlier version of Voidworld which is using MDX. In a new blank scene, viewport navigation is at approx 1500fps, and, with as example, 120k polygons in scene, the GPU is fully utilized.

When you have time, if possible, could you please check to see what may be causing the lock on fps, and the possible reason the GPU is not being fully utilized.

Thanks.

  • Posts: 1697
  • Administrator
  • Polygon
    • http://samardac.com/
February 27, 2015, 05:19:27 pm
Confirm max fps in new scene is 60.
But my GPU is fully loaded on that scene, GPU Usage is 99% .

Tested on MSI Afterbanner, using this card:
http://www.asus.com/Graphics_Cards/2101GD3L/

And this scene:
http://samardac.com/tmp/test.vws
« Last Edit: February 27, 2015, 05:23:04 pm by samardac »
Portfolio: www.samardac.com

  • No avatar
  • Posts: 2103
  • Polygon
February 27, 2015, 05:56:19 pm
I checked again.
On that test scene, the GPU is now at max of 36% while viewport navigating.

I tried a different scene with 12 sphere primitives, with total polycount of just over 1 million, and GPU did go to 98%.
So not sure yet what is happening there.

  • No avatar
  • Posts: 2103
  • Polygon
February 28, 2015, 02:32:02 am
I looked further.

After various checks, I see that if there are many objects/mesh in scene (such as the test scene posted containing 1 object + 999 instancies), my GPU is not fully utilized.



  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
February 28, 2015, 11:57:16 am
Try this
http://www.digitalfossils.com/Download/NVil-Feb-27-15.rar

The frame rate cap is removed.

  • No avatar
  • Posts: 306
  • Triangle
February 28, 2015, 01:29:37 pm
If you press and immediately release it, Nvil hangs for 2-3 seconds
http://take.ms/Peibe

comparison

http://take.ms/28smu
« Last Edit: February 28, 2015, 01:57:08 pm by Darcvizer »

  • Posts: 1697
  • Administrator
  • Polygon
    • http://samardac.com/
February 28, 2015, 01:51:41 pm
Darcvizerб
Interesting why you have less FPS then guys with gtx 580 or 660?
Portfolio: www.samardac.com

  • No avatar
  • Posts: 2103
  • Polygon
March 01, 2015, 09:02:34 am
Try this
http://www.digitalfossils.com/Download/NVil-Feb-27-15.rar

The frame rate cap is removed.

Seeing much better performance (comparison made between this and 21-feb build).

What I am seeing, and possibly related to the post from Darcviser, is there is a delay between releasing "Alt" key and the time it is no longer active. For example. In that test scene, I "Alt+LMB" to screen navigate, I release both Alt/LMB, if I press LMB and drag too soon, screen navigation is attempted rather than the LMB+drag select. Which appears to be giving some issue.
On my setup, that period of time is approx 0.5 seconds. The difference in time compared to Darcvisor will most likly be due to CPU used.

  • No avatar
  • Posts: 976
  • Polygon
March 02, 2015, 11:35:13 am
Hi guys!
I don't see any changes in frame rates between both versions of NVil.
If I rotate Samardac's scene in the fps-unlocked NVil version I get the following average loads in solid+wireframe mode:
Code: [Select]
            CPU total:  9-11%

             GPU core: 41-50%
GPU Memory Controller:  7-13%
In solid-only, I get similar (if not identical) results.

Judging by the almost identical average frame rates in both builds (11.58 in solid+wireframe and 23.77 fps in solid-only), I believe I had similar GPU loads in build that had capped rates.

  • No avatar
  • Posts: 2103
  • Polygon
March 02, 2015, 12:49:00 pm
Hi rubberDuck,

I don't see any changes in frame rates between both versions of NVil.

Testing with that "Test" scene, you are seeing some, what I think are, other underlying issues. I will come to that. I will first explain the test I made.

I made a comparison between 21-feb and current build. Comparison to 21-feb build made only due to that was the other build I had expanded on HD.
I had 21 objects in scene, with total poly-count(quads) of 1,376,256.
Build 21-feb. View-port (rotate) Navigation: Smooth with edges > 10.6 fps: smooth > 15.2 fps
Build 28-feb. View-port (rotate) Navigation: Smooth with edges > 22.5 fps: smooth > 95 fps

So I do see better performance on what, to me, is a more standard type of scene I work on.

Going back to the "Test" scene. Nvil as some (IMHO) underlying issues. The main one being a problem with GPU not being fully utilized on a scene with an high number of objects/mesh.
Example.
I create a box primitive with 10 segments on each axis. So have a box with 600 polygons(quads).
I then create 999 instance (as in "Test" example). So now I have 1,000 objects in scene with a total of 600,000 polygons(quads).
View_port (rotate) navigation: Smooth with edges > 15 fps: Smooth > 25.2 (similar to the "Test" scene result on my setup)

Now if I de-instance > combine(merge) all objects into single mesh (that process again is taking a long time). I get.
View_port (rotate) navigation: smooth with edges > 40.2 fps: Smooth > 210 fps

The question of course is, why the big difference is view-port navigation fps result. There are exactly the same number of polygons. So, for whatever reason, the number of objects/mesh in scene can cause issue.


  • No avatar
  • Posts: 976
  • Polygon
March 02, 2015, 02:32:03 pm
Quote
40.2 fps: Smooth > 210 fps
Steve, are you absolutely sure that you subdivided the combined object three times, up to 6M+ polys?
In the "Test" scene, with de-instanced and combined objects at this polycount (6,1M) I get lower frame rate than with instances (by about 2-3 frames), which is strange, because the GPU Core usage reaches 98% and GPU Memory Controller 45-48% (in contrast to 41-50%/7-13% that I had with instances). Something is wasting a lot of juice.

---
I misread your post, so you can ignore the first sentence.
« Last Edit: March 02, 2015, 02:59:50 pm by rubberDuck »

  • No avatar
  • Posts: 976
  • Polygon
March 02, 2015, 02:56:47 pm
"Test" scene with instances. Unsubdivided (96,000 polys), 1000 objects.
FPS: ~13.8 solid+wires (20 - solid)
GPU Core: 10-15% (sometimes 20-40% after switching windows)
GPU Memory Controller: 5-6%
So 1000 unsubdivided objects (96,000 polys) perform at almost identical level as 1000 subdivided objects (6,100,000 polys). So yeah, definitely something is wrong.

De-instanced:
Very similar values. No real difference.

De-instanced and combined:
FPS: 140 solid+wires (240 - solid)
GPU Core: 98-99%
GPU Memory Controller: 73%
« Last Edit: March 02, 2015, 03:07:24 pm by rubberDuck »

  • No avatar
  • Posts: 2103
  • Polygon
March 02, 2015, 03:33:26 pm
So 1000 unsubdivided objects (96,000 polys) perform at almost identical level as 1000 subdivided objects (6,100,000 polys). So yeah, definitely something is wrong.

You can test further, and just have 1000 box, or even 1000 single 1 poly plane, and the result will be the same.

Like I have a quick test scene now with 1000 seperate plane objects = 1000 polygons. Screen rotate navigation is again: smooth with edges > 15 fps: Smooth > 25 fps.
Merge mesh (almost 40 seconds to merge, too long) and smooth with edges or smooth = 600+ fps.


Looking further, I can only get above 60 fps(smooth with edges) if I have less than (approx) 200 objects(mesh) in scene (and that is 200 single polygon(quad) planes)



  • No avatar
  • Posts: 976
  • Polygon
March 03, 2015, 09:20:06 pm
You can test further, and just have 1000 box, or even 1000 single 1 poly plane, and the result will be the same. (...)
I'll take your word for it, Steve. :)

But I'm also worried about one more thing that you mentioned here and which is very tiresome in the long run.

In poly-heavy scenes many times I experienced what you described - I release the ALT key, drag the rectangular selection box and... instead of selecting NVil moves the viewport because it thinks that ALT is still depressed. There appears to be some kind of a delay in key press/release and keyboard/mouse input detection, that is tightly connected to viewport performance at a given time. If fps drop to a very low level, longer user pauses are required to successfully use hotkey/mouse combinations.

It's not limited to ALT key of course, but affects the whole user interface and all hotkey combinations.

  • Posts: 1697
  • Administrator
  • Polygon
    • http://samardac.com/
March 05, 2015, 05:55:16 pm
Steve you said that you tested scene with instances on GTX 580 and you had

Smooth solid with edges = 12.9 fps
Smooth solid = 25.6 fps

I just set new video card ASUS HD7970-DC2T-3GD5.
And I have:

Smooth solid with edges = 10.24 fps
Smooth solid = 23.9 fps

HD7970 is faster than gtx 580 also my card has 3GB. But it looks like you has more FPS.
Really can not understand what is going on :)

Maximum GPU usage is
shaded+wires - 64% with
shaded - 34% with

And it looks like there is some cap that do not allow to go beyond 64% some kind of ceiling, IStonia Why?



« Last Edit: March 05, 2015, 06:02:42 pm by samardac »
Portfolio: www.samardac.com