No DX12 Software is Suitable for Benchmarking *spawn*

Discussion in 'Architecture and Products' started by trinibwoy, Jun 3, 2016.

  1. 3dilettante

    Legend Alpha

    Joined:
    Sep 15, 2003
    Messages:
    8,008
    Likes Received:
    2,519
    Location:
    Well within 3d
    Is the multi-user constraint an API-enforced one? Preemption and QoS demands can be made by the OS even if the API were accommodating developer requests to the fullest. A snapshot of resource allocations and their full behavior would remain accurate only as long the OS permits.
    Perhaps with the "gaming mode" attempts in recent OS versions, coupled with increasing levels of VM encapsulation and hardware support of virtualization in the CPUs and GPUs, allocation within the confines of a VM can be made more free. Perhaps at some level, the OS can generally promise that a certain percentage of the platform can be dedicated to a game partition like with the consoles. Even then the system could reserve the right to take back resources or undermine the actual behavior of the resources, barring a custom OS that relaxes protection and responsiveness.
     
  2. Alessio1989

    Regular Newcomer

    Joined:
    Jun 6, 2015
    Messages:
    572
    Likes Received:
    276
    But are relevant for common user and for every true computer scientists.
    They are already exposed on Vulkan, but style didn't improve nothing at all compared to the D3D12 style.
    What can deterministically exposed is already exposed.
    That's the DX11/OGL style.
    D3D12 and Vulkan already allow the programmer to mitigate fragmentation, simply not all hardware has the same memory management capabilities.
    Which is already done, address space is already shared.
    64-bit addressing is a myth and a waste of time and page-table complexity.
     
    #1242 Alessio1989, Feb 10, 2019
    Last edited: Feb 10, 2019
    Pixel likes this.
  3. Alessio1989

    Regular Newcomer

    Joined:
    Jun 6, 2015
    Messages:
    572
    Likes Received:
    276
    Multi-user is not an issue at all thanks to virtual addressing
    That's not the definition of preemption: if the VRAM would be totally controlled by an application, the OS would stack untill the application unstall the request, which would require the application to service other process requests, which would results in application complexity, performance degradation and tons of security issues.
    QoS has nothing to do since it is related to network priority traffic and packed switching.
    Which is already done.
    Game mode performance increase is a myth, it's more about asks UWP application to go background, it is only a mitigation for system with tons of store crapware running and already claims UWP apps VRAM and memory if needed.
    VM encapsulation like in XBOX is just used as DRM and nothing more. DX-kernel already give maximum priority to the foreground application.
    The OS cannot promise nothing since a PC is not a console: every PC has it's own unique combination of hardware and software and on console this is done more for DRM reasons then for performance. Even on console no-one wants another PS3 style memory management again.
    This is already exposed in WDDM 2.0 residency: it is left to the programmer to mitigate page swapping, giving the developer the possibility to give more priority to some resources instead of others to reduce game-play issues, while it is left to the OS in DX11/OGL and previous APIs which results in application hangs and stalls until swapping is complete.
     
  4. Rootax

    Regular Newcomer

    Joined:
    Jan 2, 2006
    Messages:
    1,000
    Likes Received:
    474
    Location:
    France
    With all that, do you think we we'll see an engine dx12/vulkan based soon ? (Not a dx11 tweaked for dx12...)

    If not, I guess the api will be the main bottleneck for pc gaming ?
     
  5. Scott_Arm

    Legend

    Joined:
    Jun 16, 2004
    Messages:
    13,134
    Likes Received:
    3,491
    Id software is now vulkan only.
     
  6. Kaotik

    Kaotik Drunk Member
    Legend

    Joined:
    Apr 16, 2003
    Messages:
    7,973
    Likes Received:
    1,674
    Location:
    Finland
    Can anyone remember a GDC(?) slide which commented on how drivers are still a big factor on DX12 too? Can't seem to find, but I'm pretty sure I saw it in this thread
     
  7. Rootax

    Regular Newcomer

    Joined:
    Jan 2, 2006
    Messages:
    1,000
    Likes Received:
    474
    Location:
    France

    Are you talking about IDT 7 ? Because IDT6 was still based on OpenGL if my memory serves me right, and Vulkan added later.
     
  8. DavidGraham

    Veteran

    Joined:
    Dec 22, 2009
    Messages:
    2,606
    Likes Received:
    2,197
    Kej, Kaotik, BRiT and 2 others like this.
  9. Scott_Arm

    Legend

    Joined:
    Jun 16, 2004
    Messages:
    13,134
    Likes Received:
    3,491
    Pretty sure on PC Wolfenstein 2 is vulkan only, but I could be wrong. Doom Eternal is vulkan only, for sure.
     
    Rootax likes this.
  10. 3dilettante

    Legend Alpha

    Joined:
    Sep 15, 2003
    Messages:
    8,008
    Likes Received:
    2,519
    Location:
    Well within 3d
    In the context of a more console-like model, the memory requested by the game would be mostly exempt from the demand paging of other processes once the allocation was spun up. Operating systems can exempt or constrain the paging for ranges of memory, though outside of specific purposes it's minimized. If there are specific transition points like the game being pushed to the background, closure, or errors the OS could offer more firm promises if the initial spin-up can be completed.

    I was going with a more informal use of QoS that has been used to describe the level of performance in shared services or hardware outside of networking. For compute hardware, HSA 1.1 included QoS changes unrelated to networking, and discussions about shared or virtualized GPUs have used it in terms of the time slice and resource allocation adjustments made between separate clients.

    I was not claiming that it was happening now, but speculating as to whether it could be combined with the advancing features for sharing and virtualization in GPUs to allow something like this to have benefits.

    Security and DRM are major drivers of the Xbox One's virtualized setup, but the console also leverages the setup to provide some enforced resource and time budgets to developers. With the game in the foreground, at least 6 cores and 5 GB of DRAM are allocated to the game partition. The reservation's memory is not subject to paging, and the isolation of the game and system partitions also allows for some rather stringent promises on the percentage of time the game will be given use of the GPU.
    Additionally, the partitioned system allows for independent OS versioning for the console's application partition versus the OS version seen by a given game.

    There would be specific transition points like when switching between foreground and background, and adjustments to time slice and allocation based on the version of the SDK a game opts to use. Other violations of the resources granted and their accessibility typically revolve around game-ending or crash scenarios, such as long-running compute failing to yield at the end of the game partition's GPU time slice. The latter problem could potentially be handled better with modern hardware with features like SRIOV and preemption capabilities the CI architectures lacked.
    It's not the only way to go about doing this, since the PS4 has some similar partitioning of CPUs and memory without a hyperviser and multiple guest operating systems.

    Whether it's a significant enough use case in PC hardware for the effort is uncertain, but making more strong guarantees than best-effort of the developer is possible for servers. A hypervisor can allocate cores and memory to an instance and leave that allocation's physical resources off-limits to other VMs.
     
    AlBran likes this.
  11. Kaotik

    Kaotik Drunk Member
    Legend

    Joined:
    Apr 16, 2003
    Messages:
    7,973
    Likes Received:
    1,674
    Location:
    Finland
    There's just one small catch - consoles. Neither (at least to my knowledge) supports Vulkan even if the hardware is capable.
     
  12. Scott_Arm

    Legend

    Joined:
    Jun 16, 2004
    Messages:
    13,134
    Likes Received:
    3,491
    It's not really a catch. They both use low level apis.
     
  13. Rootax

    Regular Newcomer

    Joined:
    Jan 2, 2006
    Messages:
    1,000
    Likes Received:
    474
    Location:
    France
    Do we know if dx12/vulkan are "as low" as consoles api ?
     
  14. metacore

    Newcomer

    Joined:
    Sep 30, 2011
    Messages:
    95
    Likes Received:
    67
    [​IMG]

    On the premise that more low level= more efficient, There was this slide from dice gdc presentation comparing experience in context of some memory optimization. In addition to that there are multiple graphic programers stating that they see everything in console tools exposed from apis. It's safe to say console are even lower level

    .[​IMG]
     
    pharma, Rootax and Lightman like this.
  15. Rootax

    Regular Newcomer

    Joined:
    Jan 2, 2006
    Messages:
    1,000
    Likes Received:
    474
    Location:
    France
    Thx a lot. It's kind of sad, all the TFLOPS "wasted" because of poor tools / API (maybe Vulkan is doing better than DX12 ...) on PC. I know it's not new, but I kinf of hoped for a change with DX12&co...
     
  16. metacore

    Newcomer

    Joined:
    Sep 30, 2011
    Messages:
    95
    Likes Received:
    67
    Done some more digging on twitter, found some intersting opinions





    https://twitter.com/SebAaltonen/status/1050760469798158336
    https://twitter.com/BartWronsk/status/1050761265587486720
    https://twitter.com/SebAaltonen/status/1050762291090792448
    https://twitter.com/SebAaltonen/status/1050763915469164544
    https://twitter.com/SebAaltonen/status/1050764920374128641
    Also console context (guy was senior grapics coder on Witcher2&3, Assasins creed and God of war)
    https://twitter.com/BartWronsk/status/974101129712754688
    https://twitter.com/BartWronsk/status/962356068469755904
    There is more in above threads, enough links for one post i think, some opinions about difficulties are oposite. Ultimately all this was kinda obvious from beginning, attempt for low level coding on platform without guarateed, well documentet basline will be difficult, some abstraction is always needed.
     
    pharma, Newguy, DavidGraham and 3 others like this.
  17. Alessio1989

    Regular Newcomer

    Joined:
    Jun 6, 2015
    Messages:
    572
    Likes Received:
    276
    It's not about poor tools and APIs, it' about less abstraction of many different architectures, some of them with poor to very poor documentation (cof cof NVIDIA). Vulkan and DX12 made some minor different choices to what expose, with very minor final results. There will be always a trade-off betweem abstraction + code simplicity vs low-level and code complexity. What could really improve things would be a proper well performed page faulting implementation, which is still far ahead of current hardware eco-system and which would require a complete rething of GPU-CPU-RAM connections, but who really want today pass over DMA/QPI and PCI-E shit on the consumer market? (I guess no-one).
     
    #1257 Alessio1989, Mar 9, 2019
    Last edited: Mar 9, 2019
  18. DavidGraham

    Veteran

    Joined:
    Dec 22, 2009
    Messages:
    2,606
    Likes Received:
    2,197
    DX12 is now added to Hitman 2, resulting in MASSIVE fps uplifts over DX11, I personally witnessed a 30fps increase on my 3770K in one of the sniping levels with huge draw distance and object count. DSOG experienced 20fps gains on their 4390K in crowded areas, others gained more on their 8700K!

    https://www.dsogaming.com/news/hitm...-40fps-increase-in-cpu-ram-limited-scenarios/

    This is quite possibly the best implementation of DX12 to date.
     
    #1258 DavidGraham, Mar 27, 2019
    Last edited: Mar 27, 2019
    Per Lindstrom, Lightman and Scott_Arm like this.
  19. Rootax

    Regular Newcomer

    Joined:
    Jan 2, 2006
    Messages:
    1,000
    Likes Received:
    474
    Location:
    France
    It's nice to see but wonder why it's what not here from the start since the first one had it on PC...
     
  20. Kaotik

    Kaotik Drunk Member
    Legend

    Joined:
    Apr 16, 2003
    Messages:
    7,973
    Likes Received:
    1,674
    Location:
    Finland
    The 2016 Hitman's DX12 renderer wasn't really much faster if at all compared to DX11, clearly they wanted to redo the whole DX12 renderer and it wasn't ready for launch
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...