Nightspider
Lt. Commander
- Registriert
- Nov. 2007
- Beiträge
- 1.084
Hier übrigens der Monthly Report:
https://robertsspaceindustries.com/comm-link/transmission/15285-Monthly-Studio-Report
Interessant wieder der Teil von Foundry42 Frankfurt bzgl. Code-Optimierung und weiterer Verbesserungen bezüglich der Nutzung vieler CPU-Kerne:
Man versucht wohl nun mit asynchroner Lastverteilung den Mainthread weiter zu entlasten. Bin mal gespannt wie viel das bringt am Ende. Die werden sicherlich noch so einige CPU Optimierungen finden bzw. sich ausdenken um selbst ohne DX12 schon die Leistung merklich zu verbessern. Das ist zumindest der Plan.
Auch sehr geil ab der Mitte:
https://www.youtube.com/watch?v=ZpTOMNzIvmc
https://robertsspaceindustries.com/comm-link/transmission/15285-Monthly-Studio-Report
Interessant wieder der Teil von Foundry42 Frankfurt bzgl. Code-Optimierung und weiterer Verbesserungen bezüglich der Nutzung vieler CPU-Kerne:
Optimizations – We did a good amount of work on optimization this month, to make our universe as large and as interesting as we want we need a good amount of objects in it, therefore we optimized various parts of the 3DEngine to increase our supported object count. We now support hierarchical culling for most of our culling operations in the ZoneSystem. This approach allows us to utilize the spatial structure which we use to speed up our visible culling even more: When we know that the bounding box of a group of objects is fully enclosed inside a camera frustum, we no longer need to check all individual objects against the camera. The same idea can be applied to other checks like box/box overlaps or sphere/distance tests. We then looked into the streaming code. Before it was running in parallel but synced with the MainThread, this means our frame-time is affected by the number of objects around the player (as we need to update those). When we now increase the number of objects, the frame-time obviously gets worse. To help with this issue, we have now decoupled the streaming state update from the actual streaming request. This allows us to update the streaming state (the expensive part of streaming) fully in parallel to the MainThread without affecting the frame-rate. We then looked at our JobManger, which is responsible to distribute all this work over the CPU cores. It turned out that we could massively improve our thread communication and improve our load-balancing. This means we utilize more CPU cores in parallel while reducing the latency of those operations. The next focus is on the rendering side, and we’ll have more details on those next month.
As usual in this stage of development we also worked on various code clean-ups and bug fixes.
Man versucht wohl nun mit asynchroner Lastverteilung den Mainthread weiter zu entlasten. Bin mal gespannt wie viel das bringt am Ende. Die werden sicherlich noch so einige CPU Optimierungen finden bzw. sich ausdenken um selbst ohne DX12 schon die Leistung merklich zu verbessern. Das ist zumindest der Plan.
Auch sehr geil ab der Mitte:
https://www.youtube.com/watch?v=ZpTOMNzIvmc
Zuletzt bearbeitet: