View Issue Details

IDProjectCategoryView StatusLast Update
0004922Multi Theft Auto : San AndreasClientpublic2018-09-02 20:19
ReporterIJsAssigned To 
PrioritynormalSeveritymajorReproducibilityrandom
Status closedResolutionopen 
Product Version1.0 
Target VersionFixed in Version 
Summary0004922: Fix alt+tab Direct3D stability issues
Description

Multi Theft Auto currently uses a hack to prevent the game from pausing when it is minimized.

When the game is running normally, the Direct3D events (OnBeginScene, OnPresent) are used to provide the pulses for the framework.

When the game is minimized, the Direct3D device is lost and the above events are no longer fired. The CClientGame::GameProcessHandler function is called and pulses the framework instead.

This hack does not work, as the parts in our framework that use Direct3D are not set up to cope with any Direct3D call failures. When the device is lost, any buffers and surfaces (e.g. in the GUI subsystem) that are needed can no longer be allocated, causing problems as these cases are currently not handled properly ranging from unhandled exceptions to texture swapping due to corruption.

A solution has to be found where we either pause the entire game or only pulse the parts that do not have anything to do with Direct3D (or handle the exceptions in the parts that do).

TagsNo tags attached.

Relationships

parent of 0004647 resolvedccw Multi Theft Auto : San Andreas Stability errors (random texture swapping/assertions) after alt+tab 
parent of 0003055 closed Multi Theft Auto : San Andreas Crash oddity after d3d Invalidate/Restore sequence (after initializing/splash screen) 
parent of 0004775 resolvedccw Multi Theft Auto : San Andreas Error when maximizing the game, crash. 
parent of 0006755 closed New issues Multiple crashes when alt-tabbing into the game, involving shaders and interiors. 
related to 0005057 closed Multi Theft Auto : San Andreas Remove ability to alt-tab when not using windowed mode 

Activities

ryden

2011-01-03 05:01

manager   ~~0012417

Can't you prevent losing the Direct3D device?

Issue History

Date Modified Username Field Change