From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 98239] saints row 3: performance is limited by flushes Date: Fri, 09 Dec 2016 19:08:12 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0139982465==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [IPv6:2610:10:20:722:a800:ff:fe98:4b55]) by gabe.freedesktop.org (Postfix) with ESMTP id 1C2FF6E1DE for ; Fri, 9 Dec 2016 19:08:12 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0139982465== Content-Type: multipart/alternative; boundary="14813104920.Dab9ddb.21733"; charset="UTF-8" --14813104920.Dab9ddb.21733 Date: Fri, 9 Dec 2016 19:08:11 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D98239 --- Comment #4 from almos --- (In reply to Marek Ol=C5=A1=C3=A1k from comment #3) > Things to try: >=20 > 1) You can try increasing the IB size in radeon_drm_cs.h: > struct radeon_cs_context { > uint32_t buf[16 * 1024]; // HERE >=20 > 2) Add buffer-wait-time to the HUD and see if it corresponds with the > flushes. I tried it with 4x larger buf. The flushes are reduced to 4-5 instead of ar= ound 15, but the performance and gpu-load remained mostly the same. It feels a b= it smoother, and the fps seems more consistent, but I didn't compare it thoroughly. It seems the flush count is not a cause, but a symptom. With 8x larger buf all textures are missing. I also tried to monitor other data sources (e.g. dma), but nothing seems to= be as correlated with the fps as the gpu-load is. The buffer-wait-time somewhat resembles, but not always. BTW sr3 produces other interesting things, for example when starting up I g= et 15fps in the main menu, but after loading a game, and exiting to the main m= enu I get 120fps. I also checked other games for gpu-load, and here are the results (none of = them are cpu-bound): - furmark: 100% load, fps 105-115 sinusoid (its period is different from the rotation of the doughnut, might be worth checking this out) - amnesia: solid 60fps regardless of the vsync setting, load is 20-30% - heaven 4: the load is 80-100% perfectly correlated to fps - quake wars: base fps is 30, jumping to higher numbers with high frequency= (on windows I get rock solid 60fps), load is 20-30% - doom 3: fps is usually 55-60, in some areas it drops to 40 (should be rock solid 60), while the load is 8-11% uncorrelated to fps - tf2: fps has huge variance between 40-140, load is 30-60% correlated to f= ps --=20 You are receiving this mail because: You are the assignee for the bug.= --14813104920.Dab9ddb.21733 Date: Fri, 9 Dec 2016 19:08:12 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated

Comment= # 4 on bug 98239<= /a> from <= span class=3D"fn">almos
(In reply to Marek Ol=C5=A1=C3=A1k from comment #3)
> Things to try:
>=20
> 1) You can try increasing the IB size in radeon_drm_cs.h:
> struct radeon_cs_context {
>     uint32_t                    buf[16 * 1024]; // HERE
>=20
> 2) Add buffer-wait-time to the HUD and see if it corresponds with the
> flushes.

I tried it with 4x larger buf. The flushes are reduced to 4-5 instead of ar=
ound
15, but the performance and gpu-load remained mostly the same. It feels a b=
it
smoother, and the fps seems more consistent, but I didn't compare it
thoroughly. It seems the flush count is not a cause, but a symptom.

With 8x larger buf all textures are missing.

I also tried to monitor other data sources (e.g. dma), but nothing seems to=
 be
as correlated with the fps as the gpu-load is. The buffer-wait-time somewhat
resembles, but not always.

BTW sr3 produces other interesting things, for example when starting up I g=
et
15fps in the main menu, but after loading a game, and exiting to the main m=
enu
I get 120fps.

I also checked other games for gpu-load, and here are the results (none of =
them
are cpu-bound):
- furmark: 100% load, fps 105-115 sinusoid (its period is different from the
rotation of the doughnut, might be worth checking this out)
- amnesia: solid 60fps regardless of the vsync setting, load is 20-30%
- heaven 4: the load is 80-100% perfectly correlated to fps
- quake wars: base fps is 30, jumping to higher numbers with high frequency=
 (on
windows I get rock solid 60fps), load is 20-30%
- doom 3: fps is usually 55-60, in some areas it drops to 40 (should be rock
solid 60), while the load is 8-11% uncorrelated to fps
- tf2: fps has huge variance between 40-140, load is 30-60% correlated to f=
ps


You are receiving this mail because:
  • You are the assignee for the bug.
= --14813104920.Dab9ddb.21733-- --===============0139982465== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============0139982465==--