View Issue Details

IDProjectCategoryView StatusLast Update
0009773New issuesClientpublic2017-12-04 19:07
ReporterRenkonAssigned Toccw 
PrioritynormalSeverityminorReproducibilitysometimes
Status closedResolutionno change required 
PlatformMicrosoft WindowsOSMicrosoft WindowsOS Version10 x64 bits
Summary0009773: Using dxDrawImageSection -> Black (empty) picture
Description

If you have a big image that is used in dxDrawImageSection (for ex. 6MB), and you stop and start this resource multiple times (many, many times), there will come a moment in which, whenever you show the image, you would just see a 'black' image.

The issue was reproduced by restarting the resource multiple times and showing the image multiple times.

The only way to fix it and make it work again is to restart MTA (even reconnecting doesn't fix the issue with that particular image).

Steps To Reproduce

Start the resource, press F11 (play with zoom pgup/pgdn)
Restart the resource multiple times and keep playing with pressing F11

After some minutes (where you have been working with the image, restarting and so on), it will only display a black square instead of the image.

You won't be able to see the image until you restart MTA client (reconnecting to server won't fix).

Additional Information

I'm doing something similar to the MTASA radar (different background) and I came into this problem when stopping and starting the resource a lot of times, and playing to test things i've been modifying.

NOTICE: the .jpg image im using was uploaded to IMGUR due to size upload limit on mantis.

Direct url: https://s3.nofilecdn.io/g/qrPXuzKbtuDZ6kVYKquZUY9WF4IHDMyoeQhINN03XKMaCjSyruyS5lbYEhmOJhPD/gtasa-map.jpg/p
indirect (if not working): https://nofile.io/f/n4G7vAYvZqt/gtasa-map.jpg

TagsNo tags attached.

Activities

Renkon

2017-12-02 06:41

viewer   ~~0026309

This is an example of how it looks getting bugged and how it looks while fine (Sin titulo: bugged) (Sin titulo2: fixed after restart mta)

ccw

2017-12-02 06:42

administrator   ~~0026310

Problem is caused by video memory fragmentation. gtasa-map.jpg will be loaded as ARGB by MTA, requiring 144MB of contiguous video memory.
Convert to DXT1 using https://nightly.mtasa.com/files/shaders/DxTex.zip

Renkon

2017-12-02 07:39

viewer   ~~0026311

Thank you for your answer.

Physical file size increased * 3 (from 6MB to 18MB). How much video memory will it require now?

Thanks in advance.

SHC//Sniper

2017-12-02 20:21

reporter   ~~0026320

Is it possible to load the image as DXT1 texture using dxCreateTexture(file, "dxt1", [...]) to fix the issue, too?

ccw

2017-12-02 20:58

administrator   ~~0026321

Yes, you can use dxCreateTexture to convert the file when it loads, but creating a 6000 x 6000 DXT1 this way may take several seconds

Issue History

Date Modified Username Field Change