Jump to content

Performance hiccup


photo

Recommended Posts

Hello,

I observe frequent hiccups: a few frames long, maybe even a single frame that takes much longer than the allowable 16ms.

This is with a basic terrain with a few buildings and trees, no custom code at all, and a machine dedicated to the IG (no antivirus, no firewall, no other application), and a nVidia Quadro P6000 with latest drivers. VSync is off, and the soft is runnning solo (no syncker), single screen.

The hiccups seem to match terrain/object loading (just a feeling, I don't know how to check for that), and appear even when moving slowly. They don't happen if nothing moves, so they really are due to the engine, not from something outside.

These hiccups are simply a show stopper for us. So what can I do to understand them, and then remove them completely ? Thanks.

hiccup.png

Link to comment

This happens in full screen too, and also with lower resolution. Our typical way of operating is doing fast yaw rotation. An during these, the hiccups happen. Also when flying in a straight path. Once it has happened in a location, then it doesn't happen anymore. But as soon as you move a bit further, bam, here it goes again. And it happens during all flight, not just the few first minutes.

The released project is around 6GB on disk. The Unigine project is at 8GB. The DTED2 used covers approx 50km, maybe. How can I share these to you ? do you have a private ftp I could upload them to?

Edited by Amerio.Stephane
Link to comment

For the sake of it, I tested with various size of terrain (500km, 100km, 50km): same issue. And with both Dev and Release version of the engine: same issue.

Hum, and my upload rate is soooo low, I think we should find another way to solve this out (>7days...). What should I look for ? Would the microprofile dump help? what should I send you exactly?

Edited by Amerio.Stephane
Link to comment

Hi Amerio,

If you have fastest mirror for upload - we would be able to download from any resource (google drive, for example) - just send me PM with a download link.

 We need to check the scene itself with debugger and most important thing - to get a stable reproduction. According to our measurements terrain should not cause any lags.

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

Not sure if somehow connected, but I observed peaks in editor, when you right click into the scene. Each click causes peak. Actualy this behaviour is quite intereresting. Just moving mouse cursor to render area causes peak which throws min framerate to 35 from 255. And each click causes min framerate go to cca 35, which means, that there is  heavy frame caused by such action. It causes no visible lag (1080 ti), but it is surprising, that such action causes peak.

peak.jpg

Edited by demostenes
Link to comment
  • 3 weeks later...

Hello Stephane,

As I see, you also came to a solution with smaller meshes. Downscaling Split length should make it better even with the same Visibility distance.

May I ask you for vector source you've used in this scene? It would be very useful for testing purposes.

Currently, we're considering some major performance optimizations for 2.5 Buildings and Terrain objects. 

As a first step we're going to do the following:

  • make mesh baking independent from the building height
  • allow users to set Fade and Visibility distances for 2.5D buildings right in Landscape tool (Split length parameter will be just splitting mesh without overriding it's visibility distance settings)

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment
1 hour ago, morbid said:

May I ask you for vector source you've used in this scene? It would be very useful for testing purposes.

The source is openstreetmap, with floor numbers generated from the log of each building area with QGIS (good enough for a test). I've uploaded buildings.7z on your ftp.

Please note I consider that having to split meshes in very small chunk is a workaround, not a definitive solution (which would be a streaming system that doesn't introduce stuttering) :-)

While I'm there: With very large building on uneven ground, the building will appear floating (or sunk) in the ground, because the elevation sampled for the building is not the best one. An improvement would be to use the mean elevation, or to extend the building skirt down to the lowest elevation.

Link to comment
21 minutes ago, Amerio.Stephane said:

with floor numbers generated from the log of each building area with QGIS (good enough for a test)

Oh, I had no idea how to quickly get a proper value for building height and was struggling with huge osm files.

Yes, we understand that splitting meshes is a temporary solution, already planning some changes that should solve lags and performance drops.

25 minutes ago, Amerio.Stephane said:

An improvement would be to use the mean elevation, or to extend the building skirt down to the lowest elevation.

Doesn't Ground floor offset option works in this case? We have the task for automated elevation flattening under buildings but it will take some time.

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment
10 minutes ago, morbid said:

Oh, I had no idea how to quickly get a proper value for building height and was struggling with huge osm files.

For your convenience, here is the formula I used to create the floor attribute in QGIS:

area=area(transform($geometry, 'EPSG:4326','EPSG:3763'))
floors=1+ln( ("area"+50)/100 )*2

I didn't test Ground floor offset, I'll give it a try. About building ground flattening, that would be awesome (but don't forget it would need to be compatible with road flattening)

Thanks a lot !

Link to comment
Quote

based on our observations, using the Development Unigine_x64/86.dll can also cause some hiccups.

framerate was always ok, but we had strange hiccups, which went away when we switched to the release Unigine_x64.dll. But we didn't investigate that further, I could be totally wrong here and it was something else. My posting was intended as hint, that poeple should give the release version of Unigine_x64.dll a try when they encounter any hiccups.

Link to comment
×
×
  • Create New...