View Issue Details

IDProjectCategoryView StatusLast Update
0005167Multi Theft Auto : San AndreasGeneralpublic2010-05-11 13:47
ReporterrydenAssigned Toccw 
PriorityhighSeveritymajorReproducibilityN/A
Status resolvedResolutionfixed 
Product Version1.0.3 
Target Version1.0.4Fixed in Version1.0.4 
Summary0005167: Make model loading asynchronous
Description

Model loading should be asynchronous, as it's creating serious FPS lag. It will need a workaround to avoid falling through maps made of objects on spawn. Also it might create crashes and/or weird situations in the case of already loaded peds trying to enter/leave/driving vehicles which model hasn't loaded yet.

TagsNo tags attached.

Activities

x86

2010-03-23 21:25

administrator   ~~0011250

In my view:
COL - synchronous
dff/txd - asynchronous

ccw

2010-05-02 22:33

administrator   ~~0011413

Custom map objects have been asynced, along with precautions to stop the local player falling through the map in http://code.google.com/p/mtasa-blue/source/detail?r=1573

Maccer

2010-05-10 09:33

viewer   ~~0011446

So far, so good, ccw. Async is pretty fast and stable... at the moment.

ccw

2010-05-11 13:43

administrator   ~~0011450

This is now as good as I can make it - Implemented in 1.0.4-untested-29

http://code.google.com/p/mtasa-blue/source/detail?r=1599
http://code.google.com/p/mtasa-blue/source/detail?r=1611

PhatLooser

2010-05-11 13:47

reporter   ~~0011451

The workaround I created checks if the player fell more then 1 meter after 1 second. If he does, his position will be reset.
Another possibility I can think of is having an sync-async model. The models load async, but the player only gets "unfreezed" if all models in the surroundings got loaded. Problem with that idea is, that if the gameengine gets overloaded, especially when there is more then 250 objects, the spawn would never take place.
Thats not the best way, but its a start.

Issue History

Date Modified Username Field Change