Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Test Builds => Topic started by: RandomTiger on June 06, 2004, 06:01:43 am

Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: RandomTiger on June 06, 2004, 06:01:43 am
This build is intended for medium to low spec users who are having frame rate issues.

http://www.randomtiger.pwp.blueyonder.co.uk/freespace/fs2_open_r.rar

The -pcx2dds ('Compress pcx' as seen in launcher) flag will compress pcx images which will reduce texture memory.

Because this is a compressed format the image quality will reduce however paradoxically dxt is a 32 bit image format. So the pcx files are loaded as 32 bit which increases their quality over the default 16 bit quality and still takes up less space.

The likely result is that some things will look better and others will look worse. The compression is DXT5, if this isnt supported by your card this feature will not work. Only TNT (and possibly voodoo cards) cant do DXT5 as far as we know.

As a result of 32 bit loading and compression the loading process is likely to be slower.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: Lightspeed on June 06, 2004, 07:18:23 am
not if -pcx32 was used, anyway.

And this should be in one of Bob's decal/env/etc builds, as THATs where most of the people get slowdown problems. That would make most sense to test. :)
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: RandomTiger on June 06, 2004, 07:26:23 am
I've only just put it in so it wont be in Bob's builds till he updates.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: mrduckman on June 06, 2004, 01:00:46 pm
Works fine on GeForce4 MX-440SE, DX9b.
Hud's target hull integrity indicator is out of alignment.
The hull number is at the top left of the screen.

Other than that, seems to run fine. It didn't like the anti-fighter beam fire much, though :D
I had a little drop there.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: mrduckman on June 06, 2004, 01:01:56 pm
Ah, I'll be off 'til midnight (GMT -3) when I'll be at work.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: Bobboau on June 06, 2004, 01:08:21 pm
I updated last night, I was planning on commiting my changes this weekend, but with that engine failure bug, I wasn't sure if I should (allow us to relese a 3.6 patch) also when I comit my changes it will break OGL, as I've added a few changes to the way things work, though it's nothing as major as what I want to do, the biggest systematic change I probly made was the ability to render part of a vertex buffer, I also made the allocation functions for poly lists a member function seeing as this code was being reproduced about a half dozen times, and I changed n_prim to n_verts (within the poly list) and tryed to alter OGL code to suport this change, though I'm not sure how well that went.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: Turambar on June 06, 2004, 01:16:07 pm
so how much faster does this wonderfully complex sounding stuff make the game for us d3d people?
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: WMCoolmon on June 06, 2004, 01:27:49 pm
Quote
Originally posted by mrduckman
Works fine on GeForce4 MX-440SE, DX9b.
Hud's target hull integrity indicator is out of alignment.
The hull number is at the top left of the screen.

Other than that, seems to run fine. It didn't like the anti-fighter beam fire much, though :D
I had a little drop there.


That's probably my fault, I'll look into it.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: RandomTiger on June 06, 2004, 03:26:53 pm
Quote
Originally posted by Turambar
so how much faster does this wonderfully complex sounding stuff make the game for us d3d people?


I dont know, thats what I need tested.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: Bobboau on June 06, 2004, 09:50:11 pm
probly a good bit if you have an older card and (/or) are useing some of the ubber highres graphics, well actualy that last one probly won't as there all tga,
would would the complexity be of getting this to work for jpg and tga?
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: SA22C on June 06, 2004, 11:52:02 pm
The PCX compression seems to work quite nicely and doesn't even increase load times that much. The build runs great for me, the only slowdown I experience now is related to particles.   In close pursuit of a fighter that is damaged and spewing particles, I experience MASSIVE slowdowns.  Is there anything I can do to improve this?
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: Bobboau on June 07, 2004, 12:17:35 am
not yet, but Ihave a working solution and RT has had a few stabs at it as well
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: SA22C on June 07, 2004, 12:28:45 am
Quote
Originally posted by Bobboau
not yet, but Ihave a working solution and RT has had a few stabs at it as well


Well I'm sure you'll figure it out.  Thanks for the hard work, these .exe's really work great. :yes:
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: JarC on June 07, 2004, 02:01:00 am
as to the use of low-end machines...having one myself I can vouch for the fact that simply octree converting all tga to pcx256 will already give a big boost, and coupled with -pcx32 it is not or almost not visually noticable, throw tga conversion in with this pcx compression and it may be even more, although the compression makes it look worse again...almost as ugly as using pcx without -pcx32.


soooo...why not use this runtime on tga's?
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: RandomTiger on June 07, 2004, 12:48:07 pm
Quote
Originally posted by Bobboau
probly a good bit if you have an older card and (/or) are useing some of the ubber highres graphics, well actualy that last one probly won't as there all tga,
would would the complexity be of getting this to work for jpg and tga?


Its would be very simple to get dxt compression working on tga's and jpg's however as Lightspeed will testify it will ruin the quality of the image.

However for low spec users it might be worth it if it makes the game playable.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: Bobboau on June 07, 2004, 04:10:08 pm
well, it's a comand line argument, if you are that concerned about quality don't use it, also it might be good to have a high level interface in the code, like an extra parameter in bm_load so that the rest of us can take advantage of this more directly.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: Col. Fishguts on June 22, 2004, 05:37:16 pm
Cool, this gives a huge perfomance boost on my 64 MB Ti4200. No more fps crawling when facing capships that jumped in late in a mission (which was probably due to running out of graphic card memory)
*thumbs up*
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: RandomTiger on June 23, 2004, 02:52:55 pm
Im glad it has helped out :)
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: SA22C on June 23, 2004, 08:43:23 pm
Quote
Originally posted by RandomTiger


Its would be very simple to get dxt compression working on tga's and jpg's however as Lightspeed will testify it will ruin the quality of the image.

However for low spec users it might be worth it if it makes the game playable.


As a low-spec user, I wanted to take advantage of Lightspeed's new art, but didn't have the HP to deal with it all.  So I dissasembled the VP files and Lightspeed's releases and compressed them all to DDS myself.  There is a very definate quality loss, but even with the limitations of DDS, everything still looks much better than the stock art, especially his nebula releases.

I would welcome an automatic tga compression command line so I didn't have to convert all new releases myself.
Title: RT 06/06/2004 Pcx compression to reduce memory requirements
Post by: mrduckman on June 23, 2004, 08:50:18 pm
-pcx2dds (something like that) should do that, at least for PCX.