Bug 104603 - Below 60 FPS with XScreenSaver discoball on HiDPI monitor
Summary: Below 60 FPS with XScreenSaver discoball on HiDPI monitor
Status: NEW
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: 17.3
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-12 16:16 UTC by Paul Menzel
Modified: 2018-01-15 18:51 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Menzel 2018-01-12 16:16:54 UTC
With Mesa 17.3.1 and XScreenSaver 5.37 testing the discoball in demo, I do not get 60 FPS on the DPI monitor Dell U2718Q.

```
$ lspci -nn -s  0:02.0
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)
$ more /proc/version
Linux version 4.14.13.mx64.201 (root@orpheus.molgen.mpg.de) (gcc version 5.3.0 (GCC)) #1 SMP Wed Jan 10 12:14:02 CET 2018
$ xrandr
Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 8192 x 8192
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
DP-2 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 609mm x 349mm
   3840x2160     60.00*+  29.98  
   2560x1440     59.95  
   2048x1280     59.99  
   1920x1200     59.88  
   2048x1080     24.00  
   1920x1080     60.00    60.00    50.00    59.94    24.00    23.98  
   1920x1080i    60.00    50.00    59.94  
   1600x1200     60.00  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
HDMI-3 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
```

Running the command below, only around 30 FPS are shown and the “animation” stutters, that means, it is not smooth.

```
$ discoball -delay 0 -count 51 -spin -fps
```

Is that a hardware limitation, can the drivers be improved, or is it even XScreenSaver?
Comment 1 Adam Jackson 2018-01-15 18:50:54 UTC
A lot of it is xscreensaver, which still thinks glVertex3f is a great way to upload geometry, which is why basically all its glx hacks are CPU-bound with Mesa. In this particular case (at least on the haswell I have handy) it's also that apparently every call to glPopMatrix turns into a vertex flush, and it calls PopMatrix once per tile on the disco ball, so...

Mesa could almost certainly be made more efficient on this path. It might be worth looking at stealing something like the immediate-fixed-function emulation from https://github.com/p3/regal . I had hoped that jwzgles translated GL1.x to GLES2, but no, it's to GLES1, so you're still calling PopMatrix all the time.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.