View Bug Details

IDProjectCategoryView StatusLast Update
0001822DCP-o-maticBugspublic2023-09-01 21:50
Reportercarl Assigned Tocarl  
PriorityimmediateSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version2.16.0 
Summary0001822: Investigate poor playback performance on macOS
Description

Not really sure how.

TagsNo tags attached.
Branch
Estimated weeks required
Estimated work requiredMajor

Activities

carl

2020-10-28 00:04

administrator   ~0003978

Last edited: 2020-10-29 19:45

Replacing dcp::decompress_j2k in j2k_image_proxy.cc with a simple "set it all to red" seems to allow my Catalina mac mini to play back at full frame rate.

simple backend: about 130% CPU
opengl backend: about 85% CPU

Using the timing stuff in the simple backend, the two worst things are:

  • dc.DrawBitmap() 17ms per per call
  • wxBitmap frame_bitmap(frame) 6ms per call

With the opengl backend set_image_and_draw takes 3ms and get_next_frame takes 1ms, so it looks like there's nothing obvious.

Using wxBufferedPaintDC instead of wxPaintDC drops the dc.DrawBitmap() right down to 4ms but CPU usage goes up a bit and there are more dropped frames.

carl

2020-10-28 09:31

administrator   ~0003980

On mac mini run/bench from libdcp gets 4.5fps decompression; (i7 gets 9fps).

carl

2020-10-28 15:45

administrator   ~0003985

Last edited: 2020-10-29 20:31

carl

2020-10-28 15:46

administrator   ~0003986

Scaling Image performance - not great, not terrible.

scaling.gnumeric (2,485 bytes)

carl

2021-10-02 08:10

administrator   ~0004566

I'll resolve this and hope that the new GL backend helps.

Bug History

Date Modified Username Field Change
2020-09-13 20:43 carl New Bug
2020-09-16 21:59 carl Estimated work required => Major
2020-10-28 00:04 carl Note Added: 0003978
2020-10-28 00:04 carl Assigned To => carl
2020-10-28 00:04 carl Status new => acknowledged
2020-10-28 09:31 carl Note Added: 0003980
2020-10-28 15:45 carl Note Added: 0003985
2020-10-28 15:46 carl Note Added: 0003986
2020-10-28 15:46 carl File Added: scaling.gnumeric
2020-10-28 16:56 carl Note Edited: 0003978
2020-10-28 16:56 carl Note Edited: 0003978
2020-10-28 16:57 carl Note Edited: 0003978
2020-10-28 16:59 carl Note Edited: 0003978
2020-10-28 16:59 carl Note Edited: 0003978
2020-10-28 18:36 carl Note Edited: 0003978
2020-10-28 19:37 carl Note Edited: 0003985
2020-10-29 18:46 carl Note Edited: 0003985
2020-10-29 18:46 carl Note Edited: 0003985
2020-10-29 19:06 carl Note Edited: 0003978
2020-10-29 19:12 carl Note Edited: 0003978
2020-10-29 19:45 carl Note Edited: 0003978
2020-10-29 19:46 carl Note Edited: 0003985
2020-10-29 20:02 carl Note Edited: 0003985
2020-10-29 20:31 carl Note Edited: 0003985
2021-10-02 08:10 carl Status acknowledged => resolved
2021-10-02 08:10 carl Resolution open => fixed
2021-10-02 08:10 carl Note Added: 0004566
2023-09-01 21:50 carl Status resolved => closed