forked from Mirror/Ryujinx
a2c6cd5132
It seems that certain games (Link's Awakening, Xenoblade DE) had their fences reached already when posting framebuffers, so the signal that a frame was ready would go out _before_ the frame was enqueued, and the render loop would fail to dequeue anything and "skip" a frame. This was resulting in their performance lowering dramatically after some loading transitions, as a frame signal would be consumed and presentation would be one frame behind. It's possible this might have eventually caused deadlocks in these games or others, if it happened twice. |
||
---|---|---|
.. | ||
Types | ||
BufferItemConsumer.cs | ||
BufferQueue.cs | ||
BufferQueueConsumer.cs | ||
BufferQueueCore.cs | ||
BufferQueueProducer.cs | ||
BufferSlot.cs | ||
BufferSlotArray.cs | ||
ConsumerBase.cs | ||
HOSBinderDriverServer.cs | ||
IBinder.cs | ||
IConsumerListener.cs | ||
IFlattenable.cs | ||
IGraphicBufferProducer.cs | ||
IHOSBinderDriver.cs | ||
IProducerListener.cs | ||
NativeWindowApi.cs | ||
NativeWindowAttribute.cs | ||
NativeWindowScalingMode.cs | ||
NativeWindowTransform.cs | ||
Parcel.cs | ||
ParcelHeader.cs | ||
PixelFormat.cs | ||
Status.cs | ||
SurfaceFlinger.cs |