Melhoria de Desempenho Aspose.PSD usando Cache Customizável
Melhora o Desempenho com Cache Customizável
Aspose.PSD utiliza caching para armazenamento temporário de dados. O mecanismo é simples de usar, customizável e transparente. Garante que não haja problemas de desempenho durante o processamento de imagens. Este artigo explica como personalizar o cache com a API Aspose.PSD para .NET.
Personalizando o Cache
Quando um processo precisa de armazenamento temporário de dados, este armazenamento é alocado no cache. O cache pode ser espaço em memória ou em disco e é configurado pelo usuário. Quando os dados temporários não são mais necessários, o espaço é liberado. As estatísticas do espaço alocado podem ser inspecionadas a qualquer momento. Como o Aspose.PSD aloca e utiliza caches pode ser customizado. Esta seção descreve as várias configurações e seus padrões e os trechos de código abaixo mostram como podem ser utilizados.
Definindo onde o Cache é Alocado
Para personalizar como o espaço do cache é alocado, defina a propriedade CacheType. Por padrão, o cache é alocado na memória e quando não há mais espaço disponível na memória, ele é alocado no disco. Esse comportamento é capturado pelo modo Automático. O modo Automático é flexível e maximiza o desempenho. Existem também outros modos:
- Modo CacheOnDiskOnly: alocação apenas no disco.
- Modo CacheInMemoryOnly: alocação apenas na memória.
Selecionar o modo CacheOnDiskOnly pode resultar em desempenho ruim.
Definindo o Tamanho do Cache
Defina o espaço máximo (em bytes) que pode ser alocado no disco ou na memória configurando as propriedades MaxDiskSpaceForCache e MaxMemoryForCache respectivamente. Por padrão, ambos os valores são definidos como 0, o que significa que não há limite superior.
Controlando o Realocação do Cache
Se não houver espaço suficiente disponível na memória (conforme especificado pela propriedade MaxMemoryForCache) quando um novo cache é alocado, o cache é alocado no disco. Se não houver espaço suficiente no disco, uma exceção é lançada. O processo de alocação de cache passa da memória para o disco, mas não vice-versa. A propriedade ExactReallocateOnly é usada para controlar a realocação de memória. A realocação é mais provável de ocorrer para caches pré-alocados. Pode acontecer quando o sistema percebe que o espaço alocado não será suficiente. Se ExactReallocateOnly estiver definido como o valor padrão, Falso, o espaço é realocado para o mesmo meio. Quando definido como Verdadeiro, a realocação não pode exceder o espaço máximo especificado. Neste caso, o cache existente alocado na memória (que requer realocação) é liberado e o espaço estendido é alocado no disco.