Garbage Collection: Make it more agressive on high priority mode.
This commit is contained in:
		| @@ -298,11 +298,11 @@ public: | ||||
|     } | ||||
|  | ||||
|     size_t getLRUID() const noexcept { | ||||
|       return lru_id; | ||||
|         return lru_id; | ||||
|     } | ||||
|  | ||||
|     void setLRUID(size_t lru_id_) { | ||||
|       lru_id = lru_id_; | ||||
|         lru_id = lru_id_; | ||||
|     } | ||||
|  | ||||
| private: | ||||
|   | ||||
| @@ -78,7 +78,7 @@ class BufferCache { | ||||
|  | ||||
|     static constexpr BufferId NULL_BUFFER_ID{0}; | ||||
|  | ||||
|     static constexpr u64 EXPECTED_MEMORY = 256_MiB; | ||||
|     static constexpr u64 EXPECTED_MEMORY = 512_MiB; | ||||
|     static constexpr u64 CRITICAL_MEMORY = 1_GiB; | ||||
|  | ||||
|     using Maxwell = Tegra::Engines::Maxwell3D::Regs; | ||||
|   | ||||
| @@ -61,8 +61,8 @@ template <class P> | ||||
| void TextureCache<P>::RunGarbageCollector() { | ||||
|     const bool high_priority_mode = total_used_memory >= expected_memory; | ||||
|     const bool aggressive_mode = total_used_memory >= critical_memory; | ||||
|     const u64 ticks_to_destroy = aggressive_mode ? 10ULL : high_priority_mode ? 50ULL : 100ULL; | ||||
|     size_t num_iterations = aggressive_mode ? 10000 : (high_priority_mode ? 50 : 5); | ||||
|     const u64 ticks_to_destroy = aggressive_mode ? 10ULL : high_priority_mode ? 25ULL : 100ULL; | ||||
|     size_t num_iterations = aggressive_mode ? 10000 : (high_priority_mode ? 100 : 5); | ||||
|     const auto clean_up = [this, &num_iterations, high_priority_mode](ImageId image_id) { | ||||
|         if (num_iterations == 0) { | ||||
|             return true; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Fernando Sahmkow
					Fernando Sahmkow