Saving/loading strings and counters uses direct file writing due to how the bounds for these can vary wildly (unlike essentially all other parts of the save file). The lack of buffering in zread/zwrite means this can be very slow on some console ports. These should generate a buffer when the read/write size is below a sufficient threshold so fewer direct file access calls are used. Additionally, the shorthand ZIP file read/write functions should probably use a variant of zread/zwrite with no buffering.
Another improvement that could be made here is keeping the zstream state between zread/zwrite calls so streaming deflate data actually works (at which point the counters and strings files could be deflated, reducing file IO further).
Report ID | 784 | Title | zread/zwrite need buffering in file mode |
Product | Archived MegaZeux Bugs | Status | Fixed (Severity 1 - Low) |
Version | 2.92 | Fixed in | 2.92e |
Introduced In Version | 2.90 | Operating System | All platforms |
Page 1 of 1
Report ID #784: zread/zwrite need buffering in file mode
#1 Lachesis
Posted 02 August 2019 - 07:07 PM
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"
xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
Page 1 of 1
Replies (1 - 2)
#2 Lachesis
Posted 07 June 2020 - 10:00 AM
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"
xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
Page 1 of 1
0 User(s) are reading this issue
0 Guests and 0 Anonymous Users
Powered by IP.Tracker 1.3.2 © 2025 IPS, Inc.