[go: nahoru, domu]

Use a bernoulli distribution for gpu raster metric

This makes the code clearer

Change-Id: Ie39dfa7b14c60cf7eb3cba8c99dad284efac6bdd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1706724
Reviewed-by: Khushal <khushalsagar@chromium.org>
Reviewed-by: Aaron Krajeski <aaronhk@chromium.org>
Commit-Queue: Aaron Krajeski <aaronhk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#678659}
diff --git a/cc/raster/gpu_raster_buffer_provider.cc b/cc/raster/gpu_raster_buffer_provider.cc
index 79c32f61..e8533353 100644
--- a/cc/raster/gpu_raster_buffer_provider.cc
+++ b/cc/raster/gpu_raster_buffer_provider.cc
@@ -338,7 +338,7 @@
     const gfx::Size& max_tile_size,
     bool unpremultiply_and_dither_low_bit_depth_tiles,
     bool enable_oop_rasterization,
-    int raster_metric_frequency)
+    float raster_metric_probability)
     : compositor_context_provider_(compositor_context_provider),
       worker_context_provider_(worker_context_provider),
       use_gpu_memory_buffer_resources_(use_gpu_memory_buffer_resources),
@@ -348,9 +348,8 @@
       unpremultiply_and_dither_low_bit_depth_tiles_(
           unpremultiply_and_dither_low_bit_depth_tiles),
       enable_oop_rasterization_(enable_oop_rasterization),
-      raster_metric_frequency_(raster_metric_frequency),
-      random_generator_(base::RandUint64()),
-      uniform_distribution_(1, raster_metric_frequency) {
+      random_generator_((uint32_t)base::RandUint64()),
+      bernoulli_distribution_(raster_metric_probability) {
   DCHECK(compositor_context_provider);
   DCHECK(worker_context_provider);
 }
@@ -497,8 +496,7 @@
   gpu::raster::RasterInterface* ri = scoped_context.RasterInterface();
   DCHECK(ri);
 
-  const bool measure_raster_metric =
-      uniform_distribution_(random_generator_) == raster_metric_frequency_;
+  const bool measure_raster_metric = bernoulli_distribution_(random_generator_);
 
   gfx::Rect playback_rect = raster_full_rect;
   if (resource_has_previous_content) {