Project64 Forums

Project64 Forums (http://forum.pj64-emu.com/index.php)
-   Open Discussion (http://forum.pj64-emu.com/forumdisplay.php?f=9)
-   -   SoftGraphic graphic plugin (http://forum.pj64-emu.com/showthread.php?t=3739)

shunyuan 26th May 2013 07:32 PM

SoftGraphic graphic plugin v1.5
 
3 Attachment(s)
----------------------------
SoftGraphic HLE plugin v1.5
----------------------------
SoftGraphic is a software rendering HLE graphics plugin that uses MESS rdp core
written originally by MooglyGuy of MESS as rendering engine. No special RSP is
needed. It is slow and you need a fast CPU to get a decent frame rate.

-------
Noteice
-------
This plugin uses uses MESS rdp core written originally by MooglyGuy of MESS and bug fixed by angrylion
to render graphics, the credit of graphics rendering should goto MooglyGuy and thanks for angrylion for his
bug fixes.

source of rdp_interface here

--------
History:
--------
v1.5
* rewrite D3D9 driver with shaders
* support PJ64 save to bitmap
* add 2xSai, Super2xSaI, SuperEagle and TV mode filter

v1.4
* add D3D9 driver support
* add UI to enable/disable D3D9 bilinear filter.

v1.3
* rewrite DirectDraw code to improve frame rate
* add full screen support
* add resolution 1024 x 768

v1.2
* use multi-thread rendering to improve frame rate

v1.1
* add UI to enable/disable filter to improve frame rate

v1.0
* first implementation

--------
Settings:
--------
https://lh3.googleusercontent.com/-Y...9/Settings.png

Preview:

https://lh3.googleusercontent.com/-V...76/TV-mode.png

https://lh4.googleusercontent.com/-P...een2.png?gl=TW

https://lh6.googleusercontent.com/-4...SuperEagle.png

-----------------
my other plugins:
-----------------
ShunyuanDI: Shunyuan's DirectInput8 plugin
HleAudio: Auido plugin with XAudio2 + DirectSound driver support
GfxWrapper: to use Jabo's Direct3D8 v1.7.0.57-ver5 with Project64 1.6

HatCat 26th May 2013 07:55 PM

I wonder why it's still slow if both the RDP and the RSP commands are simulated.
Maybe it's that DirectDraw code. :p

It doesn't look too sexy when forced to 320x240/640x480/800x600.
The pixels were less blurred/stretched back when I was using SDL.
I was hoping a native port to Windows GDI would blit it less blurred. :S

Zera 26th May 2013 08:56 PM

It's unplayable even on my i7-3770k. Most games are bellow 30Vi/s, while some drop as low as 15Vi/s.

Well, at least it's working :p

Lithium 26th May 2013 09:06 PM

Great plugin, but very demanding.

mudlord_ 26th May 2013 11:41 PM

For DirectDraw, blurriness can come from whether the surface is created in video memory, or system memory. Try to play with the flags on surface creation to fix it.

HatCat 26th May 2013 11:54 PM

Quote:

Originally Posted by haxatax (Post 47030)
For DirectDraw, blurriness can come from whether the surface is created in video memory, or system memory. Try to play with the flags on surface creation to fix it.

ORLY.

That is very interesting to know!

I honestly was guessing that as an instinct, but I'm like, nahh...that doesn't make any sense. H/W blitting just makes it faster.
But I thought closely how software can be considered more "accurate" in some sense.

Hm. Good thing I want to make a plugin that doesn't 100% of the time need modern hardware requirements anyway then. :P

mudlord_ 27th May 2013 12:05 AM

Oh yah, ZSNES used to have the same issue :P

shunyuan 27th May 2013 12:28 AM

Quote:

Originally Posted by FatCat (Post 47026)
I wonder why it's still slow if both the RDP and the RSP commands are simulated.
Maybe it's that DirectDraw code. :p

It doesn't look too sexy when forced to 320x240/640x480/800x600.
The pixels were less blurred/stretched back when I was using SDL.
I was hoping a native port to Windows GDI would blit it less blurred. :S

It is possible, there are several rdp commands need to lock out screen surface to fill the frame buffer with primitive, such as showtile(), and it is very slow to lock and unlock DirectDraw surface.

I wonder it will be faster if I replace the DirectDraw surface with a DIB section.

the_randomizer 27th May 2013 12:39 AM

Quote:

Originally Posted by Zera (Post 47027)
It's unplayable even on my i7-3770k. Most games are bellow 30Vi/s, while some drop as low as 15Vi/s.

Well, at least it's working :p

The plugin is using software to render as opposed to hardware. It's the first release and over time, I'm sure speed will be improved, but for now, it relies wholly on the CPU as opposed to the GPU. The CPU is doing all the work.

HatCat 27th May 2013 12:44 AM

I believe system memory is the default, so I changed the DirectDraw initializers to create the surface in video memory. It doesn't seem to have fixed certain aspects of the blurring.

http://ft.trillian.im/785abe041074fd...JOejhfO7EC.jpg

I suppose by this point in time the matter could be a little more internal along angrylion's changes to the code.

I'm going to try reverting to the SDL rasterizer temporarily.


All times are GMT. The time now is 06:34 AM.

Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.