Tool QSP RPGM Unity HTML Java Ren'Py Flash Wolf RPG UltraFast adult games compressor v3.1.3.12

5.00 star(s) 3 Votes

For what compressor u want mass/bulk game compress feature?

  • RPGM MV/MZ

    Votes: 28 32.2%
  • HTML

    Votes: 6 6.9%
  • I want be able to bulk compress all engines (this is not planned since too hard to add)

    Votes: 4 4.6%
  • I want to compress all xp3 files in game folder (no u don't coz some games are encrypted)

    Votes: 4 4.6%
  • I don't want this feature at all so don't waste ur time on it, just enjoy ur summer time :)

    Votes: 5 5.7%
  • I have potato PC

    Votes: 35 40.2%
  • I have average PC

    Votes: 20 23.0%
  • I have fast PC

    Votes: 17 19.5%
  • I have super PC

    Votes: 8 9.2%

  • Total voters
    87

Da Bi Dimm

Member
Jan 28, 2025
364
184
62
Parallel feature is real limiting amount of running parallel processes of compression tools, not just making small pauses between images compression, in this thread I've already explained several times (not personally u but in general for all ppl) that depending of ultrafast ffmpeg value from global UAGC settings page (top left, default = 6, max = 16) View attachment 5292447 .

Size should be a bit smaller but quality much better. For example (it's not 100% accurate info but overall correct) quality [speed 7 + 65 quality] ~= quality [speed 0 + 60 avif quality] so if u reduce speed parameter u can also reduce image qualty to get smaller images size but maintain about same quality (when used higher speed and higher quality value).
I checked the image quality at quality = 60, speed = 0, 3, and 7. The folder size after compression was the same each time, and the image sizes in the folders were also identical. I also copied the same image from all three attempts multiple times and placed them in one folder to compare the images by flipping through them. If you look closely, there is a difference, but two facts are interesting: 1. Despite the differences in the images, it is impossible to say which one is better or worse; 2. The image with a speed value of 3 differs more (it is slightly sharper), while the images with speed values of 0 and 7 are almost indistinguishable from each other. But it seems to me that this is slightly more than just within the margin of error, as even if you compress the same image several times, the result can vary slightly each time. Here, the difference is a bit more noticeable, but not enough to say which one is better or worse. Especially for games, where no one will scrutinize the image as closely as I just did, and the average viewing time is about ~3 seconds. Nevertheless, the speed drops by 18 times, while the size remains the same, and the difference in images is so small that it’s hardly worth noticing.

But now I want to try Ultrafast ffmpeg speed = 16 ^.^
And how does Ultrafast ffmpeg speed differ from ffmpeg speed?
I just read that ffmpeg speed is not recommended higher than 2 if nvenc is enabled; could it be that with a value that's too low, it was hardly using my GPU?
 
Last edited:

megalol

Engaged Member
Modder
Compressor
Respected User
Apr 3, 2017
2,871
11,915
778
I checked the image quality at quality = 60, speed = 0, 3, and 7. The folder size after compression was the same each time, and the image sizes in the folders were also identical. I also copied the same image from all three attempts multiple times and placed them in one folder to compare the images by flipping through them. If you look closely, there is a difference, but two facts are interesting: 1. Despite the differences in the images, it is impossible to say which one is better or worse; 2. The image with a speed value of 3 differs more (it is slightly sharper), while the images with speed values of 0 and 7 are almost indistinguishable from each other. But it seems to me that this is slightly more than just within the margin of error, as even if you compress the same image several times, the result can vary slightly each time. Here, the difference is a bit more noticeable, but not enough to say which one is better or worse. Especially for games, where no one will scrutinize the image as closely as I just did, and the average viewing time is about ~3 seconds. Nevertheless, the speed drops by 18 times, while the size remains the same, and the difference in images is so small that it’s hardly worth noticing.

But now I want to try Ultrafast ffmpeg speed = 16 ^.^
And how does Ultrafast ffmpeg speed differ from ffmpeg speed?
I just read that ffmpeg speed is not recommended higher than 2 if nvenc is enabled; could it be that with a value that's too low, it was hardly using my GPU?
I think it depends on image (how many details picture have) for Honey Select 2 (or similar) rendered images RenPy games probably speed almost doesn't matter (just note that too fast speed value can increase compressed image size), for Daz3D rendered games like Being a DIK difference in speed should matter much more. I've made some time ago tool (u need one with avif support) that helps see/calculate quality degradation info (higher values of PSNR and VMAF = better compressed image quality) but it's currently a bit buggy so better open/close tool again after each comparison.
Uffmpeg speed and ffmpeg speed completely different deals. 1st one is max amount of (if parallel feature enabled) images and video compression tools (ffmpeg) processes that would be used but ffmpeg speed is some quality parameter only for H265/4 incl. nvenc (not AV1) and VP9 video encoders (similar like avif speed) where higher speed gives much worse video quality but much faster compression time.
 
Last edited:

Da Bi Dimm

Member
Jan 28, 2025
364
184
62
I think it depends on image (how many details picture have) for Honey Select 2 (or similar) rendered images RenPy games probably speed almost doesn't matter (just note that too fast speed value can increase compressed image size), for Daz3D rendered games like Being a DIK difference in speed should matter much more. I've made some time ago tool (u need one with avif support) that helps see/calculate quality degradation info (higher values of PSNR and VMAF = better compressed image quality) but it's currently a bit buggy so better open/close tool again after each comparison.
Uffmpeg speed and ffmpeg speed completely different deals. 1st one is max amount of (if parallel feature enabled) images and video compression tools (ffmpeg) processes that would be used but ffmpeg speed is some quality parameter only for H265/4 incl. nvenc (not AV1) and VP9 video encoders (similar like avif speed) where higher speed gives much worse video quality but much faster compression time.
Thank you for the explanation. I will try the comparison programs, and I will also need to find a game with graphics well above average for tests and comparisons. Or I could create a test version with real photos or hyper-realistic high-resolution renders. The difference should be quite noticeable on them.
Nevertheless, most games do not feature such graphics, including the one I used for the tests, and I have already provided a purely visual comparison, as well as mentioned that, in fact, during gameplay, no one really scrutinizes the renders.

I have another question about reducing image sizes: For some reason, RenPy refuses to stretch them to full screen (or window), as if the window size is specified by the developer, and if the image is smaller than this size, it aligns to the top-left corner, with the remaining space filled with gray. Nevertheless, I've seen games where developers simultaneously used renders from 1080p up to 16k, and everything displayed correctly—full screen (or window). How is that possible? Why doesn't changing the image sizes through UAGC stretch the images to fit the screen or window, and how can I make it do so?
 
Last edited:

megalol

Engaged Member
Modder
Compressor
Respected User
Apr 3, 2017
2,871
11,915
778
I have another question about reducing image sizes: For some reason, RenPy refuses to stretch them to full screen (or window), as if the window size is specified by the developer, and if the image is smaller than this size, it aligns to the top-left corner, with the remaining space filled with gray. Nevertheless, I've seen games where developers simultaneously used renders from 1080p up to 16k, and everything displayed correctly—full screen (or window). How is that possible? Why doesn't changing the image sizes through UAGC stretch the images to fit the screen or window, and how can I make it do so?
Coz downscaling usually works fine for video in most cases but for images it hardcoded in RenPy files like gui.rpy and others and if it's some complicated game (not just simple VN without choices but free roam or sandbox) with map or/and phone, etc it's hell of work to adapt game to smaller images resolution and anyway not recommended since I'm pretty sure u don't play games at 720p resolution so u don't have any advantages in plane of quality if u rescale images or set lower quality values, if u gonna do it both then game would look awful at full screen especially at desktop resolution higher than 1080p.
 

Da Bi Dimm

Member
Jan 28, 2025
364
184
62
Coz downscaling usually works fine for video in most cases but for images it hardcoded in RenPy files like gui.rpy and others and if it's some complicated game (not just simple VN without choices but free roam or sandbox) with map or/and phone, etc it's hell of work to adapt game to smaller images resolution and anyway not recommended since I'm pretty sure u don't play games at 720p resolution so u don't have any advantages in plane of quality if u rescale images or set lower quality values, if u gonna do it both then game would look awful at full screen especially at desktop resolution higher than 1080p.
I was just curious, but yes, interpolation. Although I use 1080p resolution on a 4K monitor, they are multiples of 2 horizontally and vertically, so 4 pixels work as 1 (I don't need a higher resolution, and on 1080p monitors I was annoyed by the visible physical pixels, which are just huge on a 27-inch screen). By the way, 720p is also exactly a multiple of 2 on the sides relative to 1440p, so on these monitors everything should be fine as well.
 

megalol

Engaged Member
Modder
Compressor
Respected User
Apr 3, 2017
2,871
11,915
778
I was just curious, but yes, interpolation. Although I use 1080p resolution on a 4K monitor, they are multiples of 2 horizontally and vertically, so 4 pixels work as 1 (I don't need a higher resolution, and on 1080p monitors I was annoyed by the visible physical pixels, which are just huge on a 27-inch screen). By the way, 720p is also exactly a multiple of 2 on the sides relative to 1440p, so on these monitors everything should be fine as well.
Thats not about interpolation at all but about loosing a lot of details when u downscale image permanently especially along with doing its compression. And RenPy interpolation is far for ideal so downscaled and stretched to fullscreen/4k would be blurry coz lack of details, maybe even some blocking artifacts would appear too, so for example if some game already shipped with 720p native resolution I would better use tool with some custom filter setup since it provides better upscaled images quality when goes to fullscreen instead using RenPy fullscreen build-in, only downside of Magpie is that fonts may look a bit worse than RenPy. The future of interpolation is for realtime AI upscalers (like used in some 3D games) but it's currenly not much useful for RenPy as far as I know (Stable Diffusion upscaling should be better but much slower).
 
Last edited:
  • Like
Reactions: Discoplayer1

Da Bi Dimm

Member
Jan 28, 2025
364
184
62
As it turned out, with the "Check compressed video files size" checkbox enabled, UAGC skips some videos, even if the original is significantly larger in size than its compressed version.
An example from this game: WE: Another World [v0.16] [Kerosine_NTR] (but tests were conducted on several games, it’s the same there).
 

megalol

Engaged Member
Modder
Compressor
Respected User
Apr 3, 2017
2,871
11,915
778
(install at UAGC v3.1.3 v23 final or newer), changes:
For main (not bulk) RenPy compressor added ability to run nconvert(avif), imagemagick or libvips (only with process limit feature activated) and av1_nvenc at same time. Currenly highly experimental. 1759327534248.png
Upd: replaced with test4 build which have additionally auto avif/AV1 support for new feature.
 
Last edited:

Da Bi Dimm

Member
Jan 28, 2025
364
184
62
(install at UAGC v3.1.3 v23 final or newer), changes:
For main (not bulk) RenPy compressor added ability to run nconvert(avif), imagemagick or libvips (only with process limit feature activated) and av1_nvenc at same time. Currenly highly experimental. View attachment 5301177
If these parallel processes use the CPU and GPU separately, why limit the CPU processes?
I also wanted to ask: is there any way to make all compression processes (not just video, but also images, not just AVIF but also WebP) run on the GPU?
 
Last edited:

megalol

Engaged Member
Modder
Compressor
Respected User
Apr 3, 2017
2,871
11,915
778
If these parallel processes use the CPU and GPU separately, why limit the CPU processes?
I also wanted to ask: is there any way to make all compression processes (not just video, but also images, not just AVIF but also WebP) run on the GPU?
Because it only would work with image limit processes feature (actually if I remember correctly u was one of ppl that wanted it) when rush.exe tool used so I can make it do jobs (where number of jobs = number of parallel image tools processes for compression) to compress images while UAGC would do video at same time using its own video compression engine, anyway if u set 16 processes that should be enough to load even ur CPU not to say that for av1_nvenc u could also need some small amount of free CPU power in some cases (maybe for decoding for example). Also I advice u in future to try it 1st before complaining or asking me questions and do objective feedback based on ur real tests not to waste my time which I do when writing that long text.
On GPU u only currently can run video compression (btw old video encoders like VP8/9 are CPU based only) so answer is no. Probably I could make also webp + (nvenc) AV1 but its pointless so not gonna do it coz such combination usually don't gives u any advantages regarding compressed size (so without using avif images AV1 is mostly useless) but only speed if game have lots of video, to be 100% precise av1_nvenc could be used for images compression but don't supports transparency so 100% useless coz 100% of RenPy games uses transparent images at least in GUI elements.
As it turned out, with the "Check compressed video files size" checkbox enabled, UAGC skips some videos, even if the original is significantly larger in size than its compressed version.
An example from this game: WE: Another World [v0.16] [Kerosine_NTR] (but tests were conducted on several games, it’s the same there).
I need ur settings sceenshot of RenPy main compressor and global UAGC settings that u used to reproduce the problem.
 
  • Like
Reactions: Discoplayer1

Da Bi Dimm

Member
Jan 28, 2025
364
184
62
Because it only would work with image limit processes feature (actually if I remember correctly u was one of ppl that wanted it) when rush.exe tool used so I can make it do jobs (where number of jobs = number of parallel image tools processes for compression) to compress images while UAGC would do video at same time using its own video compression engine, anyway if u set 16 processes that should be enough to load even ur CPU not to say that for av1_nvenc u could also need some small amount of free CPU power in some cases (maybe for decoding for example). Also I advice u in future to try it 1st before complaining or asking me questions and do objective feedback based on ur real tests not to waste my time which I do when writing that long text.
On GPU u only currently can run video compression (btw old video encoders like VP8/9 are CPU based only) so answer is no. Probably I could make also webp + (nvenc) AV1 but its pointless so not gonna do it coz such combination usually don't gives u any advantages regarding compressed size (so without using avif images AV1 is mostly useless) but only speed if game have lots of video, to be 100% precise av1_nvenc could be used for images compression but don't supports transparency so 100% useless coz 100% of RenPy games uses transparent images at least in GUI elements.

I need ur settings sceenshot of RenPy main compressor and global UAGC settings that u used to reproduce the problem.
You don't have permission to view the spoiler content. Log in or register now.
 

megalol

Engaged Member
Modder
Compressor
Respected User
Apr 3, 2017
2,871
11,915
778
You don't have permission to view the spoiler content. Log in or register now.
I've used ur settings and have no video skip problem, all 4 vids in WE:AN game compressed fine with sizes from 1Mb to 1.5 Mb. So I advice to make proper bug report (ideally with video), where said what u do (this u can skip since already wrote) and what u expect. I'm not sure that u fully understand some features or u wouldn't set ffmpeg speed to 6 which is not recommended (use default 3 or less). Check sizes is needed if u set compression settings higher than original quality so this way u can get bigger output size than it was before compression so if it happens UAGC would just keep original files.
 
  • Like
Reactions: Discoplayer1

ShinyDarkRai

Member
Game Developer
Apr 27, 2021
240
707
213
Hi I want to report an issue on the UGAC Compressor... I used that latest version to compress my game and it ruined the pngs so much so that My game doesn't even run anymore.... and I am even unable to revert to the old version? I only see the new UI in old version??
 

megalol

Engaged Member
Modder
Compressor
Respected User
Apr 3, 2017
2,871
11,915
778
Hi I want to report an issue on the UGAC Compressor... I used that latest version to compress my game and it ruined the pngs so much so that My game doesn't even run anymore.... and I am even unable to revert to the old version? I only see the new UI in old version??
Hi, sorry to hear that u got problems but this is not proper bug report, I need your RenPy compressor settings screenshot that u used and exact UAGC version number (as it written on file name when u downloaded my tool) and RenPy log/error/traceback file. If u don't have game backups (which is very strange) I assume that u compressed (btw by default UAGC compress to webp/VP9) ur game to avif/AV1 format (but ur RenPy version don't supports it) so u either update RenPy version (not recommended since it could lead to bugs) or convert ur game back to webp/VP9 (to webp try using XnView MP, videos should do UAGC). Also u stated that pngs ruined is very vague statement, can u pack few "ruined" png to 7z and upload it here or to workupload.com, or sent me compressed game and I'll see what I can do with it to make it work.
 
  • Like
Reactions: Discoplayer1

ShinyDarkRai

Member
Game Developer
Apr 27, 2021
240
707
213
Hi, sorry to hear that u got problems but this is not proper bug report, I need your RenPy compressor settings screenshot that u used and exact UAGC version number (as it written on file name when u downloaded my tool) and RenPy log/error/traceback file. If u don't have game backups (which is very strange) I assume that u compressed (btw by default UAGC compress to webp/VP9) ur game to avif/AV1 format (but ur RenPy version don't supports it) so u either update RenPy version (not recommended since it could lead to bugs) or convert ur game back to webp/VP9 (to webp try using XnView MP, videos should do UAGC). Also u stated that pngs ruined is very vague statement, can u pack few "ruined" png to 7z and upload it here or to workupload.com, or sent me compressed game and I'll see what I can do with it to make it work.

I will give you a proper review of it soon. Right now, I just recovered my files through git. So I don't have those weird pngs. I am in a bit of a hurry to get the latest build out.
 

Da Bi Dimm

Member
Jan 28, 2025
364
184
62
I've used ur settings and have no video skip problem, all 4 vids in WE:AN game compressed fine with sizes from 1Mb to 1.5 Mb. So I advice to make proper bug report (ideally with video), where said what u do (this u can skip since already wrote) and what u expect. I'm not sure that u fully understand some features or u wouldn't set ffmpeg speed to 6 which is not recommended (use default 3 or less). Check sizes is needed if u set compression settings higher than original quality so this way u can get bigger output size than it was before compression so if it happens UAGC would just keep original files.
But there aren't 4 videos there, there are 16...
Okay, when I have time, I'll try to record a video of the compression process.
 

Da Bi Dimm

Member
Jan 28, 2025
364
184
62
I will give you a proper review of it soon. Right now, I just recovered my files through git. So I don't have those weird pngs. I am in a bit of a hurry to get the latest build out.
I apologize for interrupting the conversation, but apparently, you compressed the folder with the source files. Never do this; always create a copy of the game folder first, because UAGC (at least in the standard setup) does not create a separate folder for the compressed version, but replaces the original files with the compressed ones in the folder you specified. You are lucky that UAGC first creates compressed copies of all files, leaving the originals, and only then deletes the originals and renames the compressed ones, rather than overwriting them one by one; otherwise, it could have written new files over the old ones, making recovery impossible. Always make a backup.
 
Last edited:

megalol

Engaged Member
Modder
Compressor
Respected User
Apr 3, 2017
2,871
11,915
778
megalol
It seems that too high ultrafast ffmpeg value (16 in ur case) could lead to video skip problem, setting it to 6 should prevent such problem when using nvenc since even fast GPU can't deal with too much encoding processes due limitation of its arch.
 
  • Like
Reactions: Discoplayer1
5.00 star(s) 3 Votes