Opened 14 years ago
Closed 3 years ago
#8962 closed Developer Task (Trac EOL)
playbackbox.cpp:extract_job_state() inefficient
Reported by: | danielk | Owned by: | Raymond Wagner |
---|---|---|---|
Priority: | minor | Milestone: | 29.2 |
Component: | MythTV - General | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Right now it queries the info independently for every recording on screen. But it is much more efficient to get this info in MainServer::HandleQueryRecordings?() where we already do a partial bulk load of this info to set FL_COMMPROCESSING.
Attachments (4)
Change History (20)
comment:1 Changed 14 years ago by
Status: | new → assigned |
---|
comment:2 Changed 14 years ago by
Milestone: | 0.25 |
---|
comment:3 Changed 13 years ago by
Owner: | changed from danielk to stuartm |
---|---|
Status: | assigned → accepted |
Type: | task → Developer Task |
comment:4 Changed 13 years ago by
Milestone: | 0.25 → 0.26 |
---|
comment:5 Changed 12 years ago by
Milestone: | 0.26 → 0.27 |
---|
comment:6 Changed 12 years ago by
Owner: | changed from stuartm to Raymond Wagner |
---|---|
Status: | accepted → assigned |
I'm picking this up as part of the rework for #7990.
comment:7 Changed 11 years ago by
Milestone: | 0.27 → 0.28 |
---|
comment:8 Changed 10 years ago by
I agree that in principle it would be nicer to add this directly to ProgramInfo? and ProgramList? and benefit from automatic PBB updates when changes are made.
However, it is complicated by the fact that a given ProgramInfo? can have multiple job queue records associated with it - commflag, transcode, metadata lookup, user jobs - and each can be in a different state, so it's hard to pack that all into a single ProgramInfo? field. Unless we're committed to only transferring a summary of specific state information about commflag and transcode jobs only, and encode that into a single field.
In the meantime, I've attached a simple patch that locally caches the entire job queue and reloads it at most once every 5 seconds. This greatly improves the sluggishness of navigating the Watch Recordings screen.
By the way, at least with my theme, every cursor move in the Watch Recordings screen fires off 4 jobqueue queries for each item displayed (plus a few extra queries). With this patch, changing the selection creates 3 queries total - 2 for card inputname and one for bookmark position (for preview generation) - plus 1 jobqueue query if it's been 5 seconds since the last query. Not perfect, but an order of magnitude better than before.
Changed 10 years ago by
Attachment: | 8962_v1.patch added |
---|
Changed 10 years ago by
Attachment: | 8962_v2.patch added |
---|
comment:11 Changed 9 years ago by
Milestone: | 0.28 → 0.29 |
---|
comment:13 Changed 7 years ago by
Milestone: | 29.0 → 29.1 |
---|
comment:14 Changed 7 years ago by
Milestone: | 29.1 → 0.28.2 |
---|
Moving remaining open tickets to 0.28.2 milestone
comment:15 Changed 7 years ago by
Milestone: | 0.28.2 → 29.2 |
---|
Moving remaining open tickets to 29.2 milestone
comment:16 Changed 3 years ago by
Resolution: | → Trac EOL |
---|---|
Status: | assigned → closed |
We have moved all bug tracking to github [1]
If you continue to have this issue, please open a new issue at github, referencing this ticket.
Milestone 0.25 deleted