Просмотр исходного кода

Garbage Collection: Make it more agressive on high priority mode.

Fernando Sahmkow 4 лет назад
Родитель
Сommit
fe0acec539

+ 2 - 2
src/video_core/buffer_cache/buffer_base.h

@@ -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:

+ 1 - 1
src/video_core/buffer_cache/buffer_cache.h

@@ -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;

+ 2 - 2
src/video_core/texture_cache/texture_cache.h

@@ -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;