Ticket #2492 (closed bug: obsolete)
Video performance
Reported by: | mira | Owned by: | mira |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | uncategorized | Version: | 2.0 |
Keywords: | Cc: | ||
Category: | MAIN | Effort: | |
Importance: | Ticket_group: | ||
Estimated Number of Hours: | 0 | Add Hours to Ticket: | 0 |
Billable?: | yes | Total Hours: | 0 |
Analysis_owners: | mira, deni | Design_owners: | mira, deni |
Imp._owners: | mira, deni | Test_owners: | |
Analysis_reviewers: | deyan, pap | Changelog: | Changelog |
Design_reviewers: | pap | Imp._reviewers: | |
Test_reviewers: | Analysis_score: | 0 | |
Design_score: | 3.5 | Imp._score: | 3 |
Test_score: | 0 |
Description
The video performance is bad.
Change History
comment:2 Changed 15 years ago by mira
- Design_owners set to mira, deni
- Status changed from s1b_analysis_finished to s2a_design_started
comment:3 Changed 15 years ago by mira
- Status changed from s2a_design_started to s2b_design_finished
The most time-consuming operations when playing videos are the getting next frame from the native and comparing two images when setting the image property. We didn't have time to examine the native. We think that the video frames should not be compared every time they are changed. Since this is the way properties work, we made a successor of ImmImage - UniqueImmImage whose elements are never equal. It should be used in VideoContentView insted of normal ImmImage. For this to work the ImmImage class should have copy constructor. Since this is immutable class this constructor is protected.
comment:5 Changed 15 years ago by mira
- Owner set to mira
- Status changed from s2c_design_ok to s3a_implementation_started
- Imp._owners set to mira, deni
comment:6 Changed 15 years ago by mira
- Status changed from s3a_implementation_started to s3b_implementation_finished
The implementation is done according to the design and is merged in the trunk on vnc 16.
comment:7 Changed 15 years ago by pap
- Status changed from s3b_implementation_finished to s3c_implementation_ok
- Design_score changed from 0 to 3.5
- Design_reviewers set to pap
- Analysis_reviewers set to deyan, pap
- Imp._score changed from 0 to 3
- Code related to this task committed in [9244].
- Good that you have found where the problem is.
- Bad solution :
- First always returning false means that same objects will not be equal, so you should return this == obj
- Second returning i++ for hashCode means that a single object will have multiple hashCodes. Also it is likely that an overflow may occur. Better use System.identityHashCode.
- Last we decided that we could just remove the equals and hashCode from ImmImage. Note that the way it was done ImmImage.equals(UniqueImmImage) will differ from UniqueImmImage.equals(ImmImage) - the operation is not symmetric.