> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurar a memória para seu título e kit de desenvolvimento

> Configurar a memória para seu título e kit de desenvolvimento

Este tópico descreve como um título configura o desempenho de memória de varejo e como habilitar memória de título adicional para fins de desenvolvimento.

## Configurar a memória do título no XBOX One X e no kit de desenvolvimento XBOX Series X

Os títulos executados no XBOX One X e no XBOX Series X têm acesso a até 8,9 GB e 13 GB de memória, respectivamente. Como as necessidades dos jogos modernos podem variar muito, esse valor pode ser configurado pelo desenvolvedor do título. Alguns jogos podem querer um perfil de memória consistente em toda a família de consoles XBOX, e outros podem precisar de mais memória para carregar texturas de resolução mais alta ou realizar otimizações específicas do XBOX One X/XBOX Series X. Você pode escolher entre dois estados para a configuração de memória do seu título no XBOX One X e no XBOX Series X.

<a id="ID4EWC" />

| Tipo de console | Modo do console | Modo de memória do título | Memória do título | Memória de ferramentas |
| :- | :-: | :-: | :-: | -: |
| XBOX One/XBOX One S | | | 5,120 MiB | 1,012 MiB |
| XBOX One X | | Padrão<br />Avançado | 8,128 MiB<br />9,152 MiB | 2,024 MiB<br /> 1,012 MiB |
| | | | | |
| Devkit XBOX One X | XBOX One / XBOX One S | | 5,120 MiB | 5,028 MiB |
| Devkit XBOX One X | Teste do XBOX One X | Padrão<br />Avançado | 8,128 MiB<br />9,152 MiB | 2,024 MiB<br /> 1,012 MiB |
| Devkit XBOX One X | XBOX One X Devkit \[44] | Padrão<br />Avançado | 8,128 MiB<br />9,152 MiB | 14,168 MiB<br />13,156 MiB |
| | | | | |
| XBOX Series S | | Padrão<br />Avançado | 7,998 MiB<br />8,572 MiB | N/A |
| XBOX Series X | | Padrão<br />Avançado | 10,208 MiB<br />13,312 MiB | N/A |
| | | | | |
| Devkit XBOX Series X | Lockhart Profiling (XBOX Series S) | Padrão<br />Avançado | 7,998 MiB<br />8,572 MiB | 6,056 MiB<br />6,048 MiB |
| Devkit XBOX Series X | Anaconda Profiling (XBOX Series X) | Padrão<br />Avançado | 10,208 MiB<br />13,312 MiB | 9,614 MiB<br />15,666 MiB |
| Devkit XBOX Series X | Scarlett 40GB | | 37,156 MiB | |

Consulte [Modos de console do Microsoft Game Development Kit](https://learn.microsoft.com/archive/console-modes-toc) para obter mais informações sobre como configurar o modo do console.

### Configurar a memória do título no MicrosoftGame.config

No [MicrosoftGame.config](/pt-BR/reference/system/microsoftgameconfig/microsoftgameconfig-schema), há três elementos que gerenciam o modo de memória do título. O elemento XboxOneXTitleMemory gerencia o modo de memória do título para seu título do XBOX One executado em um XBOX One X. Os elementos XboxLockhartTitleMemory e XboxAnacondaTitleMemory gerenciam o modo de memória do título para seu título do XBOX Series X|S executado nos modos "LockhartProfiling" ou "AnacondaProfiling" em um kit de desenvolvimento XBOX Series X.  Os valores permitidos para esses elementos são "Standard" e "Advanced".

No XBOX One X, Standard fornece 7,9 GB, enquanto Advanced fornece 8,9 GB ao título. A diferença de 1 GB não é devolvida ao sistema quando Standard é escolhido; ela é aplicada ao cache de jogos do XBOX para aumentar o desempenho de E/S do título.

No XBOX Series S, Standard fornece 7,7 GB de memória.  A maior parte (7904 MiB) é memória "GPU Optimal Bandwidth", com velocidade de acesso máxima de 224 GB/s, e o restante (94 MiB) é padrão (56 GB/s).  Advanced fornece 574 MiB adicionais, sendo 128 MiB "GPU Optimal Bandwidth".  Quando o modo de memória Standard é escolhido, a diferença é devolvida ao sistema para eliminar a necessidade de suspender e retomar rapidamente o título em determinadas circunstâncias (como ao abrir uma URL no navegador da Web do sistema em primeiro plano).

No XBOX Series X, Standard fornece 10 GB de memória operando com a largura de banda máxima disponível de 560 GB/s para a GPU (GPU Optimal Bandwidth).  Advanced dá ao título acesso a 3 GB adicionais, capazes de uma largura de banda máxima de 336 GB/s para a GPU (Standard Bandwidth).  Assim como no XBOX One X, se o modo de memória Standard for escolhido, a diferença não é devolvida ao sistema.  Ela é aplicada a recursos do sistema, como o cache de jogos do XBOX, para aprimorar o suporte ao título quando ele está ativo.

## Configurar e acessar memória adicional durante o desenvolvimento

Quando o ProfilingMode está habilitado, memória adicional é disponibilizada para seu título e pode ser usada durante o desenvolvimento para qualquer finalidade, de ferramentas do mecanismo de jogo a ativos de jogo não otimizados.

Essa memória adicional é compartilhada entre o título e ferramentas como o [PIX](/pt-BR/tools/tools-console/pix/pix). A quantidade total de memória disponível quando o ProfilingMode está habilitado depende do hardware do kit de desenvolvimento e, no caso de um kit de desenvolvimento XBOX One X e de um kit de desenvolvimento XBOX Series X, do modo do console.

A memória adicional fica visível para o título de duas maneiras:

* A configuração ExtraTitleMemory pode ser usada para especificar quanta memória adicional é disponibilizada diretamente para seu título por meio de todas as rotinas padrão de alocação de memória.
* Qualquer memória não atribuída pela configuração ExtraTitleMemory pode ser acessada especificando o sinalizador XMEM\_TOOL ao chamar [XMemVirtualAlloc](/pt-BR/reference/system/xmem/functions/xmemvirtualalloc) ou [XMemCreateWin32Heap](/pt-BR/reference/system/xmem/functions/xmemcreatewin32heap). Para obter mais informações sobre como usar o heap XMEM\_TOOL em suas ferramentas, consulte a seção Alocar memória no heap XMEM\_TOOL a seguir.

As configurações de ExtraTitleMemory podem ser definidas usando o [DevHome](/pt-BR/tools/tools-console/devhome/devhome), o [XBOX Manager](/pt-BR/tools/tools-console/xbom/xbom), o [XBOX Device Portal (Windows Device Portal no XBOX)](/pt-BR/tools/tools-console/wdp/wdp) ou a ferramenta de linha de comando [xbConfig](/pt-BR/tools/tools-console/commandlinetools/xbconfig).

<a id="ID4EPC" />

### Informações adicionais sobre o uso de memória adicional durante o desenvolvimento

* Usar memória adicional no seu título reduz a quantidade de memória disponível para ferramentas como o [PIX](/pt-BR/tools/tools-console/pix/pix). Recomendamos deixar pelo menos 512 MB de memória para o [PIX](/pt-BR/tools/tools-console/pix/pix).
* Em geral, as ferramentas são executadas usando as reservas de memória da plataforma.  Em alguns casos, uma ferramenta exigirá o uso de memória do título.  Essas alocações serão feitas usando o sinalizador XMEM\_TOOL até que o pool XMEM\_TOOL se esgote e, então, tentarão alocar do pool de memória padrão.  O sinalizador ToolingMemoryOverflow pode ser definido como false para evitar esse transbordamento. Observe que ainda há alguns casos em que o [PIX](/pt-BR/tools/tools-console/pix/pix) e outras ferramentas podem usar memória do título mesmo que você tenha especificado que isso não deve acontecer usando a configuração ToolingMemoryOverflow. Esses casos serão corrigidos em uma versão futura do GDK.
* Alterar os modos de console não altera a configuração do modo de criação de perfil. A memória adicional continuará disponível para seu título, para o PIX e para as ferramentas. Para desativar a memória adicional, desative o modo de criação de perfil. Consulte [Usar modos de console para testar seu jogo](/pt-BR/home/setup-install/concepts/using-console-modes) para obter mais informações sobre os modos de console.

<a id="ID4EWD" />

### Ativar o modo de criação de perfil

Para acessar a memória de título adicional, ative o modo de criação de perfil na guia Desempenho do [DevHome](/pt-BR/tools/tools-console/devhome/devhome), na guia de configurações do [XBOX Manager](/pt-BR/tools/tools-console/xbom/xbom), na página Configurações do [XBOX Device Portal (Windows Device Portal no XBOX)](/pt-BR/tools/tools-console/wdp/wdp) ou na ferramenta de linha de comando xbConfig.

No [DevHome](/pt-BR/tools/tools-console/devhome/devhome), ative o modo de criação de perfil usando as configurações do **PIX** na guia Desempenho. Se você quiser que as ferramentas transbordem para a memória do título (se necessário), selecione **Allow PIX and other tools to overflow and use your game's memory**.

<img src="https://mintcdn.com/microsoft-4404708b/EHFikhsC0GyEu9Ca/images/gdk/features/console/xbom_extended_memory_settings.png?fit=max&auto=format&n=EHFikhsC0GyEu9Ca&q=85&s=050e9e9407a98c777d957a4f88ec945c" alt="Definir as configurações de memória estendida" width="800" height="432" data-path="images/gdk/features/console/xbom_extended_memory_settings.png" />

<a id="ID4EVE" />

### Configurar a memória de título adicional

Depois que o modo de criação de perfil for ativado, você poderá configurar quanta memória adicional é disponibilizada diretamente para seu título e quanta é disponibilizada no heap XMEM\_TOOL. Por padrão, nenhuma memória adicional é disponibilizada para seu título. Você pode alterar essa configuração padrão na guia Desempenho do [DevHome](/pt-BR/tools/tools-console/devhome/devhome), na guia de configurações do [XBOX Manager](/pt-BR/tools/tools-console/xbom/xbom), na página de configurações do [XBOX Device Portal (Windows Device Portal no XBOX)](/pt-BR/tools/tools-console/wdp/wdp) ou na ferramenta de linha de comando [xbConfig](/pt-BR/tools/tools-console/commandlinetools/xbconfig).

No Dev Home, selecionar o botão **Manage tool memory** nas configurações do **PIX** na guia Desempenho exibe um controle deslizante que permite configurar quanta memória adicional fornecer ao seu título:

<img src="https://mintcdn.com/microsoft-4404708b/EHFikhsC0GyEu9Ca/images/gdk/features/console/xbom_manage_tools_memory.png?fit=max&auto=format&n=EHFikhsC0GyEu9Ca&q=85&s=324b134c57bfe5ed014e349f67642c2a" alt="Gerenciar a memória de ferramentas" width="800" height="370" data-path="images/gdk/features/console/xbom_manage_tools_memory.png" />

O [XBOX Manager](/pt-BR/tools/tools-console/xbom/xbom) e o [XBOX Device Portal (Windows Device Portal no XBOX)](/pt-BR/tools/tools-console/wdp/wdp) expõem a capacidade de configurar memória adicional usando as configurações **Additional Memory for Title** e **Title Memory Overflow**. Especificar um valor para **Additional Memory for Title** expande a memória do título (e reduz a memória de ferramentas) pelo número de megabytes indicado.

<img src="https://mintcdn.com/microsoft-4404708b/EHFikhsC0GyEu9Ca/images/gdk/features/console/xbom_additional_memory_for_title.png?fit=max&auto=format&n=EHFikhsC0GyEu9Ca&q=85&s=d225b26b98533189dbe797a02c96ff70" alt="Configurar memória de título adicional" width="657" height="662" data-path="images/gdk/features/console/xbom_additional_memory_for_title.png" />

Para configurar memória adicional usando a ferramenta de linha de comando [xbConfig](/pt-BR/tools/tools-console/commandlinetools/xbconfig), use as configurações **ExtraTitleMemory** e **ToolingMemoryOverflow**.

<a id="ID4EQG" />

## Alocar memória de ferramentas

O acesso à memória de ferramentas exige o uso de sinalizadores passados para as alocações apropriadas.

### XMemVirtualAlloc

[XMemVirtualAlloc](/pt-BR/reference/system/xmem/functions/xmemvirtualalloc) deve usar o sinalizador XMEM\_TOOL.

```c++ theme={null}
    // Allocate 1 MB of tooling memory by using 64 K pages. 
    PVOID cpu64kmemory = XMemVirtualAlloc (NULL, 
                                           1024 * 1024, 
                                           MEM_64K_PAGES | MEM_RESERVE | MEM_COMMIT, 
                                           XMEM_TOOL | XMEM_CPU, 
                                           PAGE_READWRITE); 
```

### XMemIsToolsMemAvailable / XMemCreateWin32Heap

[XMemIsToolsMemAvailable](/pt-BR/reference/system/xmem/functions/xmemistoolsmemavailable) / [XMemCreateWin32Heap](/pt-BR/reference/system/xmem/functions/xmemcreatewin32heap) devem usar o sinalizador XMEM\_HEAP\_TOOL.

```c++ theme={null}
    //  
    // XMemIsToolsMemAvailable and XMemCreateWin32Heap example. 
    //  
 
    DWORD HeapType = XMemIsToolsMemAvailable() ? XMEM_HEAP_TOOL : XMEM_HEAP_DEFAULT; 
 
    // Create a dev scratch usage heap on tools or title that isn't limited in size. 
    HANDLE ScratchHeap = XMemCreateWin32Heap(HeapType, 0);   
```

<a id="ID4EEH" />

### Consultar a memória no heap XMEM\_TOOL

A API [XMemGetWorkingSetStatistics](/pt-BR/reference/system/xmem/functions/xmemgetworkingsetstatistics) pode ser usada para obter estatísticas atuais sobre a memória no pool XMEM\_TOOL, incluindo seu tamanho configurado e a quantidade de memória disponível no momento.  Para ver um exemplo, consulte [XMemGetWorkingSetStatistics](/pt-BR/reference/system/xmem/functions/xmemgetworkingsetstatistics).

## Confira também

[Página Desempenho do Developer Home no console (Dev Home)](/pt-BR/tools/tools-console/devhome/devhome-performance)

[Modos de console do Microsoft Game Development Kit](https://learn.microsoft.com/archive/console-modes-toc)

[XMemVirtualAlloc](/pt-BR/reference/system/xmem/functions/xmemvirtualalloc)

[XMemGetWorkingSetStatistics](/pt-BR/reference/system/xmem/functions/xmemgetworkingsetstatistics)


## Related topics

- [Documentação de desenvolvimento de jogos XBOX](/pt-BR/index.md)
- [Compile e execute seu primeiro título de console com o GDKX](/pt-BR/home/build-first-title/first-console-title-walkthrough.md)
- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Requisitos de segurança para licenciados do GDK](/pt-BR/home/onboarding-access/security-requirements.md)
- [Integração de Parceiro XBOX para acesso e publicação](/pt-BR/home/onboarding.md)
