Closed
Bug 988954
Opened 11 years ago
Closed 11 years ago
TextureClient recycle based on TextureHost's recycle event on ImageClient
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: sotaro, Unassigned)
Details
Attachments
(1 file)
+++ This bug was initially created as a clone of Bug #988941 +++
Do correct TextureClient recycle for MediaDecoder in Bug 988941, we need to track TextureHost's release timing by client side.
Using TextureHost's recycling capability seems to work for this.
Reporter | ||
Updated•11 years ago
|
Reporter | ||
Updated•11 years ago
|
Assignee: nobody → sotaro.ikeda.g
Reporter | ||
Updated•11 years ago
|
Status: NEW → ASSIGNED
Reporter | ||
Comment 1•11 years ago
|
||
Current TextureHost`s side recycling has a problem. See Bug 990080.
Reporter | ||
Comment 2•11 years ago
|
||
On master, TexutreClients managed under GonkNativeWindow already use recycling mechanism. Therefore It might be better to use TextureHost`s side recycling mechanism only these TextureClients.
Reporter | ||
Comment 3•11 years ago
|
||
I am going to use AtomicRefCountedWithFinalize`s recycling mechanism. But SimpleTextureClientPool`s mechanism can not be used for ImageLayer(ImageClient), even when SimpleTextureClientPool also uses AtomicRefCountedWithFinalize`s recycling mechanism.
-[1] Calling TextureChild::WaitForCompositorRecycle() requests recycle callback from TextureParent. ImageClient my not send TextureClient to ImageHost. It is not clear until ImageClient sends TextureClient to TextureHost.
-[2] In media framework, one TextureHost could be used by multiple ImageClient simultaneously.
-[3] ImageBridgeChild::UseTexture() send TextureClient to ImageHost. And TextureChild::WaitForCompositorRecycle() requests TextureParent to recycle TextureHost. These two call are sent to parent side as different transaction.
Reporter | ||
Comment 4•11 years ago
|
||
It seems better to add "TEXTURE_RECYCLE" info to ImageBridgeChild::UseTexture(). By it, TextureClient delivery from ImageClient to ImageHost and request TextureHost recycle could be done atomilally by same transaction.
Comment 5•11 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #4)
> It seems better to add "TEXTURE_RECYCLE" info to
> ImageBridgeChild::UseTexture(). By it, TextureClient delivery from
> ImageClient to ImageHost and request TextureHost recycle could be done
> atomilally by same transaction.
If you mean using a synchronous transaction, I would prefer to avoid it.
Reporter | ||
Comment 6•11 years ago
|
||
(In reply to Nicolas Silva [:nical] from comment #5)
> (In reply to Sotaro Ikeda [:sotaro] from comment #4)
> > It seems better to add "TEXTURE_RECYCLE" info to
> > ImageBridgeChild::UseTexture(). By it, TextureClient delivery from
> > ImageClient to ImageHost and request TextureHost recycle could be done
> > atomilally by same transaction.
>
> If you mean using a synchronous transaction, I would prefer to avoid it.
It does not mean sync transaction, it mean in one transaction.
Reporter | ||
Comment 7•11 years ago
|
||
It basically works on master hamachi. But it degrades video playback performance. Youtube video playback is not smooth.
Reporter | ||
Comment 8•11 years ago
|
||
TextureHost seems to be referenced longer time. It seems to cause intermittent buffer starvation at OMXCodec.
Reporter | ||
Updated•11 years ago
|
Status: ASSIGNED → NEW
Reporter | ||
Comment 9•11 years ago
|
||
Bug 984434's way of ImageBridge async transaction works. This bug's way seems not necessary for the time being.
Reporter | ||
Updated•11 years ago
|
Reporter | ||
Updated•11 years ago
|
Assignee: sotaro.ikeda.g → nobody
Reporter | ||
Comment 10•11 years ago
|
||
I already tried it in Bug 984434. The result of performance is not good. Unless it will be needed again, it is better to set to INVALID.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•