Re: Regarding Canvas2 OOP-Rasterization

72 views
Skip to first unread message

Khushal Sagar

unread,
Aug 7, 2024, 11:38:17 AM8/7/24
to Rahul Patel, Graphics-dev, Fernando Serboncini, vas...@chromium.org, khusha...@chromium.org
+Graphics-dev +Fernando Serboncini +vas...@chromium.org

The flag implies that we use a different code-path for GPU rasterization but it shouldn't impact whether we use GPU or CPU rasterization. Though it's possible OOPR is enabling the use of a graphics API which wasn't available with the command buffer code path. Could you file a bug with repro instructions and a performance trace (instructions here). That would help us diagnose the issue.

Also v124 is too old, it's possible the issue has already been fixed. Please try the latest Chrome Dev to confirm if the issue is still there.

On Wed, Aug 7, 2024 at 2:49 AM Rahul Patel <patelrah...@gmail.com> wrote:
Hi Khushal,
I am trying to compile and run chromium v124 on my linux based mobile device which has 1GB of RAM, and comes with GPU (ARM Mali G310v2 @ 500MHz).

And for some- reason when i enabled the canvas2d OOP-Rasterization for my device using flag https://source.chromium.org/chromium/chromium/src/+/main:gpu/config/gpu_finch_features.cc;l=170, i see 10fps of UI Fluidity drop ( 40->30fps), for example if i disable it i get around ~40fps, . So my understanding is that if we use this flag then chromium will use GPU for canvas rasterization instead of CPU ? but looks like when it uses GPU its performance is bad compared to not using this flag. 
 
I found your document while searching though the OOP-R implementation, but still not been able to find the extra reason for the fps drop. so wondering if chromium is missing any configuration read from my device GPU? or what would have been wrong or a starting point for me to look into in such cases. 

Rahul Patel

unread,
Aug 8, 2024, 2:20:50 AM8/8/24
to Khushal Sagar, Graphics-dev, Fernando Serboncini, vas...@chromium.org
What do we mean by different code-path here? But all these paths will be using  GPU for rasterization and not CPU, right? 

Is it recommended to use this flag on low end devices ?

Vasiliy Telezhnikov

unread,
Aug 14, 2024, 11:25:17 AM8/14/24
to Rahul Patel, Khushal Sagar, Graphics-dev, Fernando Serboncini
In general Canvas OOP-Rasterization was an improvement both on performance and memory, so we should use it everywhere. But because the feature essentially moves a bunch of work from one process to another, new bottlenecks can appear. 
One notable difference is that with OOP-Rasterization we will use MSAA more. Normally it's an improvement, as it reduces CPU work in favor of utilizing gpu more. 

You can try disabling multisampling for your device by passing the command line --msaa_is_slow=1 and see if it becomes better or even worse.
Reply all
Reply to author
Forward
0 new messages