1. BENVENUTO SU CONSOLE TRIBE

    Benvenuto, stai navigando nella nostra community come ospite

    Avere un account su Console Tribe ti permetterà di creare e partecipare alle discussioni e al mercatino, organizzare tornei e partite online, iniziare conversazioni personali con gli altri giocatori del forum e di utilizzare tutte le funzioni di questo sito.

    Registra il tuo account in meno di 5 secondi, se vuoi puoi sfruttare i login social via Facebook, Google Plus o Twitter.

[Topic Ufficiale] Game Developers Conference 2015 (GDC2015)

Discussione in 'Discussioni Generali sulle Console' iniziata da MmK83, 1 Marzo 2015.

  1. MmK83

    MmK83 Tampax Compak

    Registrato:
    23 Aprile 2007
    Messaggi:
    12.996
    "Mi Piace" ricevuti:
    6.671
    Punteggio:
    2.083
    Località:
    ItaGlia
  2. glenkocco

    glenkocco Il Newey del Tribe

    Registrato:
    21 Febbraio 2008
    Messaggi:
    34.228
    "Mi Piace" ricevuti:
    14.677
    Punteggio:
    9.637
    Località:
    Where Time Becomes a Loop
    PSN Tag:
    fenris07-
    qualcuno ha guardato la conferenza di Spencer?
  3. MmK83

    MmK83 Tampax Compak

    Registrato:
    23 Aprile 2007
    Messaggi:
    12.996
    "Mi Piace" ricevuti:
    6.671
    Punteggio:
    2.083
    Località:
    ItaGlia
    Se parli di quella che ho postato io l'ho vista.Dal minuto 27 in poi parla delle percentuali di vantaggio con le DX12.
    50% CPU e 20% GPU (non specifica la piattaforma).
    A glenkocco piace questo elemento.
  4. glenkocco

    glenkocco Il Newey del Tribe

    Registrato:
    21 Febbraio 2008
    Messaggi:
    34.228
    "Mi Piace" ricevuti:
    14.677
    Punteggio:
    9.637
    Località:
    Where Time Becomes a Loop
    PSN Tag:
    fenris07-
    e il resto?
  5. The_WLF

    The_WLF Redattore e direttore del doppiaggio Moderator

    Registrato:
    26 Gennaio 2008
    Messaggi:
    8.394
    "Mi Piace" ricevuti:
    5.262
    Punteggio:
    1.528
    Mancia, grazie...:asd:
    (scusa, non ho saputo resistere...:()
  6. glenkocco

    glenkocco Il Newey del Tribe

    Registrato:
    21 Febbraio 2008
    Messaggi:
    34.228
    "Mi Piace" ricevuti:
    14.677
    Punteggio:
    9.637
    Località:
    Where Time Becomes a Loop
    PSN Tag:
    fenris07-
    ban! ban! ban!
  7. SaintSeiya

    SaintSeiya Tribe Member

    Registrato:
    26 Ottobre 2006
    Messaggi:
    3.819
    "Mi Piace" ricevuti:
    420
    Punteggio:
    240
    Località:
    Nuova Luxor
    Phil é stato molto generico, specificando già all'inizio dell'intervento che altri avrebbero fornito dettagli più tecnici nel corso della gdc. Anche perché parlando specificatamente della One nessuno al momento sa dire quanto sarà il beneficio effettivo, la cosa più immediata saranno le nuovi api esram e i nuovi tool che sono stati già mostrati alla gdc, e che possono eventualmente essere usati per patchare giochi già usciti o in uscita.
  8. MmK83

    MmK83 Tampax Compak

    Registrato:
    23 Aprile 2007
    Messaggi:
    12.996
    "Mi Piace" ricevuti:
    6.671
    Punteggio:
    2.083
    Località:
    ItaGlia
    Non ho postato le news di Morpheus o Hololens perchè imho non interessavano a nessuno.Ma magari mi sbagliavo e quindi ecco un video
    Per visualizzare questo contenuto è necessario accettare i cookie con finalità di marketing.

    Appena trovo qualche nuovo video di Hololens in uso lo posto
    Cmq è iniziato il pax2015...dove ci saranno veramente tanti giochi :)
    A glenkocco piace questo elemento.
  9. DJ_Jedi

    DJ_Jedi Infrangitore di Sogni - Anti Spam Task Force

    Registrato:
    23 Gennaio 2007
    Messaggi:
    17.008
    "Mi Piace" ricevuti:
    3.567
    Punteggio:
    1.627
    La realtà virtuale col controller è una cagata per me, ci vuole hardware dedicato come fucili, pistole, in modo da dare quel feeling reale.
  10. MmK83

    MmK83 Tampax Compak

    Registrato:
    23 Aprile 2007
    Messaggi:
    12.996
    "Mi Piace" ricevuti:
    6.671
    Punteggio:
    2.083
    Località:
    ItaGlia
    A glenkocco piace questo elemento.
  11. MmK83

    MmK83 Tampax Compak

    Registrato:
    23 Aprile 2007
    Messaggi:
    12.996
    "Mi Piace" ricevuti:
    6.671
    Punteggio:
    2.083
    Località:
    ItaGlia
    DirectX 12 On PC And Xbox One: Improving GPU Efficiency, Reduced CPU Overhead And More Analyzed

    DirectX 12 allows developers to have more control on how they manage their resources, but this also means that they have to do a lot of work upfront.




    [​IMG]
    Last week we covered the new rendering features found in DirectX 12 along with performance comparisons between DX11 and DX12. Today we will focus on how DirectX 12 allows developers to efficiently utilize GPUs and reduce CPU overhead for better performance. During this year’s GDC, Microsoft’s Bennett Sorbo took centre stage to explain how DirectX 12 is not only a low level access API for a variety of GPU hardware but it also has a very low level of abstraction compared to DX11. Not only that, it also manages to take care of resource management issues such as the order they are going to be used in and how they are going to be used in rendering operations which results into awesome performance gains on the CPU and GPU.

    Explicit Resource Transitions

    [​IMG]

    So how can developers gain more from GPU using DirectX 12? Bennett states there are three ways to do that. First approach is called Explicit Resource Transitions. It’s fairly public knowledge that modern GPUs work with resources in the form of states and using these states they have knowledge of where these transitions or instructions needs to occur in the pipeline. For example, if you want to read a texture from a render target, some GPUs will actually compress it and save bandwidth in the process, but if it’s the opposite, it needs to be decompressed into a different hardware state so that other parts of the GPU can read it efficiently. Another important thing that developers need to keep track of is the transitions of resources and make sure that they are in sync with each other.

    In DirectX 12, there is actually an in-built application that will notify the GPU about the current state of the resource. For example, the app will tell the GPU that the current state was a render target but now it’s now being used as a shader resource. This lets the developer know when they are asking the GPU to do the work or move from one state to another. Of course this may be happening in DX11 but in an abstract way. This way the developer can minimize the number of redundant state transitions resulting into less unexpected stalls and performance loss.

    [​IMG]

    In DX11, whenever a developer wanted to a dispatch call back to back, the API will ensure that all reads and writes will be complete for a given call resulting into some idle time before the next dispatch event happens. Using DirectX 12, the developer is now responsible for telling the app when these idle times are needed. So if your app does not need any stall times, the dispatches can run back to back. What’s more? Multiple dispatches up to hundreds on a modern GPU can be run in parallel followed by idle time (if any).

    In order to demonstrate this new feature, check out a head to head comparison between DX11 and DX 12 versions of Fable Legends.

    [​IMG]

    Fable Legends DX11 version: The application does not have upper level knowledge resulting into lower frame rates compared to the DX12 version below.

    [​IMG]

    Fable Legends DX12 version: The application has upper level knowledge resulting into higher frame rates due to less GPU idle times/stall.

    In our previous article, we briefly talked about ResourceBarrier API that takes care of the GPU hazards. So using this API, the developer can communicate with the GPU about the different states that we talked about earlier in this article. Now consider an example where you want to read a render target for a number of frames. So using DirectX 12, developers can perform these transitions over a long period of time using ResourceBarrier API with the begin and end states with both of them having their individual before and after states. In this way redundant operations are avoided and is ideal for processes where a resource is not going to be used for a long period of time.

    Parallel GPU Execution:

    [​IMG]

    Modern GPUs are completely capable of running multiple workloads provided they are not dependent on each other, allowing developers to use the hardware efficiently. In the previous article we briefly touched upon the three engine types which are 3D (which can do whatever operations you want to using DX11 context), compute engine (which can clear queues and perform dispatches) and lastly copy which is used for copy operations. All of these engine types can be used in parallel provided the application has the upper level knowledge what resource the developer is going to use ahead of time.

    The copy engine can be used in scenarios where the developer knows that in a few seconds the app will be accessing a particular texture. The copy engine will then stream copies of the texturing using system memory or the GPU memory without blocking the 3D engine. For comparison sake, Bennett showed off the results on the GPU View, a tool that tracks what is happening on the GPU at any moment.

    In the image below, the copy and compute operation would normally take more time, in this case 92 milliseconds.

    [​IMG]

    But when the developer uses the copy engine, the hardware is actually executing several command buffers in parallel, avoiding serialization. The 3D work is only 41 ms and the copy work is only 27, and that too parallely.

    [​IMG]

    Moving forward. The compute engine is widely used in games, offering unique rendering solutions. If you are doing a long running simulation and if the app needs lesser frames, the GPU can run it on a lower priority by allocating it lesser cycles. But when the developer needs the resource, the 3D queues can be delayed. It can also be used in cases where there are dependencies between the compute and 3D engines for a smaller frame time. For example, if the compute engine is running a bit longer, the developer can actually tell the 3D engine to wait. But again, this depends on what you are doing in the application.

    GPU Generated Workloads:

    [​IMG]

    Microsoft have added a lot of new features so that the API is extremely flexible while it’s processing rendering operations. In DX11 each query was treated as independent entity using the ID3D11Asynchronous class allowing the developers to get the data whenever they want. In DirectX 12, the developer retrieves the data in the form of heaps. So one can carry out thousands of queries in a single batch and they can be executed using a single resolve operation. In this way, the GPU does not need to worry about resolving individual GPU operations as it only needs to take care of a batch or a heap now.

    CPU Overhead:

    One of the first features that was first announced last year was that DX12 reduces CPU overhead by 50%. This is especially critical in cases where a user has a dual GPU configuration and the CPU becomes the eventual bottleneck. Out of the box, DirectX 12 allows no high frequency ref counting, no hazard tracking and and no state shadowing. This means that the API will now manage the lifetime of the resource in the memory. When the developer wants to release it, it will be immediately released. If the developer chooses to bind something as render target, DX12 won’t unbind it unnecessarily compared to the dynamic runtime process in DX11.

    CPU overhead can be reduced using Resource Binding, something I have explained in my previous article on DX12. Resource Binding is divided into two processes Descriptor Heap and Root Signature. The descriptor heaps are the actual GPU memory that controls how resources are bind in the pipeline. Unlike DX12, the descriptor heaps are directly exposed to the application itself allowing developers to bind individual resources in an efficient way because the application has a higher level knowledge on how it plans to use its resources. Root Signature is related to the draw function’s arguments which will allow the developers to put the texture bindings in the root signature function itself giving direct access to the relevant resource in the descriptor heap. This is ideal for high frequency updates.

    In case of multi threading, DX11 creates a background thread which falls outside the control of the application but in DX12, multi threading is directly controlled by the application itself and each command list is independent and efficient in generating rendering commands. In cases where the developer cannot implement parallelization and has to adopt serialization, DX12 allows the developer to develop a background submission thread depending on the application’s needs.

    DX12 also provides new developer tools such as fences which gives an indication on how far the GPU is in execution as well as the ability to develop one large allocation and place resources within it which can then be mapped/unmapped according to the application.

    Closing Words:

    Using DirectX 12, the developers will have the final word on where and how they want to utilize their resources but eventually they would need to do a lot of work in providing high level information to the application. But there is no doubt that there are some serious performance gains to be had via DirectX 12, at least on the PC.
  12. glenkocco

    glenkocco Il Newey del Tribe

    Registrato:
    21 Febbraio 2008
    Messaggi:
    34.228
    "Mi Piace" ricevuti:
    14.677
    Punteggio:
    9.637
    Località:
    Where Time Becomes a Loop
    PSN Tag:
    fenris07-
    ma hanno parlato delle tempistiche riguardo alle DX12? quando ne vedremo i benefici?
  13. MmK83

    MmK83 Tampax Compak

    Registrato:
    23 Aprile 2007
    Messaggi:
    12.996
    "Mi Piace" ricevuti:
    6.671
    Punteggio:
    2.083
    Località:
    ItaGlia
    Uscita novembre 2015...i primi benefici tangibili su console nel 2016 (Quantum Break?!?!).Perlomeno queste sono state le parole di Phil in un intervista.L'unico gioco nel 2015 a "usarle"...pare sia Fable Legends (perchè su UE 4.0).
    Stessa cosa per la controparte Vulkan (qui inviterei a leggere le "perle di saggezza" di
    Brad Wardell su twitter riguardanti ps4 perchè sono il meglio :asd: )
    .E' lecito pensare che tutti i giochi rinviati al 2016 lo faranno proprio per questo motivo (imho).
    Ultima modifica: 12 Marzo 2015
    A glenkocco piace questo elemento.