PCSX2 development plan,thoughts,contributions
#51
I think that where lookahead can be useful and is feasible, it's probably used. However, I think that mostly it just uses caching. I do know, for instance, that the ISO reader (and the gzip ISO reader) sort of do look ahead (seek to the next sequential sector, decompress a bit more ahead, etc).

In general, if you can do some smart lookahead, especially in a different thread if you have cores to spare, then its great. But understanding what to look ahead to is usually the harder problem, especially if processing this future stuff is not cheap and the system struggles with running at full speed already anyway.
Reply

Sponsored links

#52
(07-08-2014, 10:43 AM)rama Wrote: Can you specify optimizations for single files? It's possible with Visual Studio.
This should help finding the problem area.

Might be possible. However there is a warning where code will break (strict aliasing) Wink
Reply
#53
(07-08-2014, 08:49 AM)gregory Wrote: PCSX2 (include utilil/x86emitter) might need those flags:
-fno-omit-frame-pointer
-fno-strict-aliasing

GSdx:
-fno-strict-aliasing
-mpreferred-stack-boundary=2
-fno-operator-names

My advice is to first try a single clang built plugin with others part built by gcc. (see it can be useful to have plugin Tongue2 ). Do it for each pluging and then the core.

Clang doesn't seem to realize the preferred stack boundary flag. Is there a way to specify this for clang? I can't find anything relevant with google. Also, I don't think the plugins are terribly affected by optimization flags. They seem to work fine with -O0, -O1, and -O2. Utilities/x86emitter/PCSX2 seem to be the only projects that specify individual optimization flags.
Reply
#54
Actually even pcsx2 could work with O2. The real issue is strict aliasing. Omit frame pointer used to work before gcc 4.6. I never have time to test properly the code with O2 but nearly all O1/O2 flags are present.

For GSdx I don't know. There are various alignment requirement because of sse2 (avx). Some functions are realigned with dummy variable but I'm not sure it works. If the compiler removes the variable before the alignment you're screwed. I think c++11 got new alignment capability (or at least a standard syntax), otherwise there is the aligned attribute.
Reply
#55
(07-06-2014, 10:28 AM)avih Wrote: 1. We don't like crapwere the same as anyone else doesn't like it, and we don't like dropping crapware on our users. But AVG is here now, it might go away tomorrow, and we might replace it with something else next week. We've discussed it internally extensively, we've rejected tons of alternatives, we've added AVG only after we've met with them personally and toured their offices, and took as much precautions we could think of to make it as least sneaky as possible (option isn't hidden, only for official builds which are typically released once a year, can be uninstalled, etc). Take it as a fact for now. There's no point in conditioning contribution because some builds have an option to install AVG. This is how it is right now. We would not like to see people go away for this, but we're also not going to argue this.

Take it for granted that we care about our users. Really all of us do, and we won't drop sneaky crap on them. And yet, it's our decision to make - and we didn't take it lightly or quickly and we took precautions, and it's your decision if you can live with it or not.

Then this is just going to have to be an "agree to disagree" moment then. I will never support software with crapware like this. Spin it all you want, but it's completely indefensible. Especially since other emulation projects of similar size and popularity don't seem to need such things.

Since the PCSX2 team is not going to drop it, it means that the future of PS2 emulation is going to have to lie in either forking PCSX2 or improving an existing emulator such as Play!.

Quote: 5. Plugins yes no: it's an endless debate. However, you should know: PCSX2 needs only 3 plugins: gamepad (Lilypad), audio (SPU2-X) and graphics (GSdx). These plugins are part of the main repo and occasionally updated/fixed. They're the only main plugins, and no other plugin should be used (most are also not bundled). There were no complications (as far as I know of) due to the plugins system, and there are not enough plugins to duplicate code. Just 3 non-overlapping plugins, all of those are selected by default when starting PCSX2 for the first time, and there's no plugin hell. That's how it is and has been for many years now with PCSX2.

This is even stronger reason to drop the plugin format entirely actually.
Reply
#56
(07-11-2014, 08:52 AM)Kolphin Wrote: Then this is just going to have to be an "agree to disagree" moment then. I will never support software with crapware like this. Spin it all you want, but it's completely indefensible. Especially since other emulation projects of similar size and popularity don't seem to need such things.

Since the PCSX2 team is not going to drop it, it means that the future of PS2 emulation is going to have to lie in either forking PCSX2 or improving an existing emulator such as Play!.


This is even stronger reason to drop the plugin format entirely actually.

Ok, we are not having this BS debate again. Either you provide actual reasons for what you say or you leave.
[Image: gmYzFII.png]
[Image: dvedn3-5.png]
Reply
#57
^ Nobbs is right. It's been discussed to death. Everyone knows our stance, so please stop bringing it up.
[Image: XTe1j6J.png]
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Reply
#58
(07-11-2014, 08:52 AM)Kolphin Wrote: Then this is just going to have to be an "agree to disagree" moment then. I will never support software with crapware like this. Spin it all you want, but it's completely indefensible. Especially since other emulation projects of similar size and popularity don't seem to need such things.

Since the PCSX2 team is not going to drop it, it means that the future of PS2 emulation is going to have to lie in either forking PCSX2 or improving an existing emulator such as Play!.

(07-11-2014, 08:55 AM)Nobbs66 Wrote: Ok, we are not having this BS debate again. Either you provide actual reasons for what you say or you leave.

I don't think its BS. It's a very important discussion, and if there are specific issues with the toolbar (like that it's hard to uninstall or that it messes up your system or that we hide the fact that it's bundled - but still optional etc) then do let us know.

Like we mentioned earlier, we care a lot about the users, we examined this toolbar for a long time, we've all installed it to check how bad it is, we've posted on it at the forum and carefully examined at the posts and state of minds of users about it, and we will not knowingly drop crapware on them.

So if you think we've made mistakes specifically with the AVG toolbar, do let us know. We're not perfect.

The thing which we're NOT going to discuss is our choice to bundle other apps with some releases PCSX2 as long as we do it decently and visibly and where we don't force our users to install it.

The AVG toolbar is not a catholic wedding for PCSX2 and we're listening to complaints about it. The decision on bundling something with PCSX2, however, is ours to make, regardless if other projects do it or not.


(07-11-2014, 08:52 AM)Kolphin Wrote: -- plugins --
This is even stronger reason to drop the plugin format entirely actually.

I don't have a strong preference towards either side. But plugins do work well for us so far, there's no plugin hell, there _are_ plugins which other devs develop which were much less likely to happen otherwise (like the force feedback steering wheels USB plugin, or some experimental gamepad plugins etc), _and_ changing the architecture to remove the plugins system is a lot of work and takes time etc.

Overall, at this point in time, I think the pros to keep the plugins system weight much more than the cons.
Reply
#59
(07-11-2014, 02:26 PM)avih Wrote: I don't think its BS. It's a very important discussion, and if there are specific issues with the toolbar (like that it's hard to uninstall or that it messes up your system or that we hide the fact that it's bundled - but still optional etc) then do let us know.

The way kolphin worded his post is the reason I called it BS. If there was some actual backing for what he was saying then I wouldn't have a problem. I'm fine with actual discussion that helps move the project. To me it just seemed like a way to get a few of us to start flaming and I wasn't going to deal with that.
[Image: gmYzFII.png]
[Image: dvedn3-5.png]
Reply
#60
The plugin system has a few drawbacks in my opinion. It gives ownership to the plugins; things got really personal in Dolphin when it came to choosing default plugins or dropping a plugin. Even after the move to backends, there was a lot of personal feelings toward DX9 to the people who coded it, and that rift has never really healed. Those were originally plugins, and a lot of that ownership carried over.

Thanks to dropping the plugin system, Dolphin hasn't had conflicts like that over things like GCpad, where multiple people have worked on it, added features, and it's all in one place. I don't have to choose plugins based on features; there is no other plugin, everything, every feature, is right there within the emulator in one cohesive piece. There are examples in other areas, but, that's one that I noticed recently. Can you fork a plugin and get it in? Sure, but then you miss out on updates from the original author... and bad things can happen. Once a fork gets so far away, merging it and getting features from one to another can be a huge amount of work. I dunno; I'm going to be biased because I like how Dolphin works. I'm 100% sure there are cases where plugins will work out nicer, probably with how compartmentalized things are, it may be easier to work on them with less knowledge on the emulator?

So... since there's a little more talk on the AVG installation, I decided enough with the pointless talk, enough with the gripes finally. Let's actually install it and see what happens. Full disclosure: I used a Virtual Machine (that I actively use; it's not just an empty computer) for testing here.

About the AVG Toolbar... if it had ended up easy to uninstall as claimed, I probably would have just gave up on the point. But, here I am writing a bit thing up, so you can probably guess it didn't go well. I consider myself a fairly advanced user, but, maybe I'm missing some easy solution.

I installed it through the PCSX2 installer. That's it. No other things. My VM was already cleaned. I scanned PCSX2 installer for adware before I installed it. It came up clean, good sign, right? But, the first thing that happened after I started installing it was all kinds of alarms went off. Spybot, in particular, had tons of hits. Because of that, I disabled Spybot and windows defender in order to see how an unprotected user would feel and let the full installation happen. Even without that, there were browser search bars, etc; but I wanted to see how it would act with a full installation and nothing blocked.

First, let's talk about what it did. In Firefox, you get nifty toolbar, new homepage, search bar regardless of what you want. This is easy to see and change, but annoying.

Now, in chrome, on top of all of that, what does AVG do? It DISABLES your adblock and injects advertisements into the browser! Worse yet? It's separate from the plugin install. Even with it disabled, there are still these "special" ads that I know sure as hell weren't there before.

What kind of bullcrap is that? That is what you are subjecting users to; disabling and changing their settings without knowledge, while injecting advertisements into their browser experience. That REALLY annoyed me; the toolbar thing is meh and obvious, but disabling something I installed into my browser pissed me off. There's also no way to know AVG is behind them until they "magically disappear" after you use malware removal programs. Fun.

I don't even want to get started on IE; I don't use it, but it's really just AVG'd up.

So, I went through the basic uninstallation process provided by AVG, but that didn't restore things to normal. It made things "appear" normal, but my adblock was still disabled in chrome, and some of those weird search results seemed suspect. Things just didn't seem right. It turns out installation isn't really that simple and there are a ton of leftovers.



Note: Copied from another user that installed the AVG user. I didn't have the foresight to keep logs of what was left, and I really don't want to go through that again.

# AdwCleaner v3.020 - Report created 04/03/2014 at 19:49:09
# Updated 27/02/2014 by Xplode
# Operating System : Windows 8.1 (64 bits)
# Username : Wasif Sayyed - CRANE
# Running from : C:\Users\Wasif Sayyed\Downloads\AdwCleaner.exe
# Option : Scan

***** [ Services ] *****


***** [ Files / Folders ] *****

File Found : C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Search.lnk
File Found : C:\Users\WASIFS~1\AppData\Local\Temp\Uninstall.exe
Folder Found C:\Program Files (x86)\AVG SafeGuard toolbar
Folder Found C:\Program Files (x86)\SoftwareUpdater
Folder Found C:\ProgramData\AVG SafeGuard toolbar
Folder Found C:\Users\Wasif Sayyed\AppData\LocalLow\AVG SafeGuard toolbar

***** [ Shortcuts ] *****


***** [ Registry ] *****

Key Found : HKCU\Software\AVG SafeGuard toolbar
Key Found : HKCU\Software\AVG Secure Search
Key Found : HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{AE805869-2E5C-4ED4-8F7B-F1F7851A4497}
Key Found : HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{AE805869-2E5C-4ED4-8F7B-F1F7851A4497}
Key Found : [x64] HKCU\Software\AVG SafeGuard toolbar
Key Found : [x64] HKCU\Software\AVG Secure Search
Key Found : HKLM\Software\AVG SafeGuard toolbar
Key Found : HKLM\Software\AVG Secure Search
Key Found : HKLM\SOFTWARE\Classes\AppID\{0A18A436-2A7A-49F3-A488-30538A2F6323}
Key Found : HKLM\SOFTWARE\Classes\AVG SafeGuard toolbar.BrowserWndAPI
Key Found : HKLM\SOFTWARE\Classes\AVG SafeGuard toolbar.BrowserWndAPI.1
Key Found : HKLM\SOFTWARE\Classes\AVG SafeGuard toolbar.PugiObj
Key Found : HKLM\SOFTWARE\Classes\AVG SafeGuard toolbar.PugiObj.1
Key Found : HKLM\SOFTWARE\Classes\CLSID\{007EFBDF-8A5D-4930-97CC-A4B437CBA777}
Key Found : HKLM\SOFTWARE\Classes\CLSID\{408CFAD9-8F13-4747-8EC7-770A339C7237}
Key Found : HKLM\SOFTWARE\Classes\CLSID\{AE805869-2E5C-4ED4-8F7B-F1F7851A4497}
Key Found : HKLM\SOFTWARE\Classes\TypeLib\{07CAC314-E962-4F78-89AB-DD002F2490EE}
Key Found : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\{AE805869-2E5C-4ED4-8F7B-F1F7851A4497}
Key Found : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AVG SafeGuard toolbar
Key Found : [x64] HKLM\SOFTWARE\Classes\CLSID\{AE805869-2E5C-4ED4-8F7B-F1F7851A4497}
Key Found : [x64] HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\{AE805869-2E5C-4ED4-8F7B-F1F7851A4497}


Even after tons of guides, the only thing that really got rid of it was using tons of third party programs. And even then, I'm not really sure it's ALL gone. Can you imagine having users go through THIS MUCH trouble to remove it? Let me make sure this was known.

1: I had to uninstall the toolbar manually.
2: I had to disable AVG's plugins and remove them in Chrome
3: I had to do that in my other browsers too.
4: The more devious thing was having to use VIRUS SCANNERS and Spyware removers to get rid of parts of the install. This was absolutely necessary to restore my system to normal. I couldn't find any way to remove them normally, even with guides.

After all of that, I was FAIRLY certain the OS is back to normal, but I couldn't be 100% sure. Because of how it spreads so far and deep, it really is a challenge to totally remove. I don't know about you, but even if it isn't changing my home page or hijacking my browser, just having it always doing things on my computer kind of creeps me out. It took a while to remove even with guides at my hand, tons of third party.

And this isn't just me; those two links show other people's experiences, but there are more.

In a similar case, AVG with PowerISO users also had trouble removing malware from their toolbar. AVG then passed the buck to PowerISO for not including an uninstaller. http://www.zdnet.com/avg-security-toolba...000001055/ This was a CLEAR PR move, as any kind of basic instructions to uninstall don't really uninstall it. If they really cared, things would have changed over the past two years. If a PCSX2 user complains to them about this, would it really be fair if AVG blamed you? Oi... I'm getting frustrated now.

I really regret trying to do this; my only solace was that I set up a restore point beforehand. If I had done this on my main PC like a normal user using PCSX2, I would have been really, really upset. It's been about 2 hours since I started this little excursion... and I actually had someone who had uninstalled it before helping me. In the end, I decided not to take any chances and I ended up just restoring the computer to default with my savepoint. Was not a fun experience, do not recommend.

edit: Forgot to mention I had someone with experience uninstalling this for another friend helping me remove it after I ran into a wall. They provided the guide that seemed to remove it, along with the programs I ended up using.

edit 2: grammar
Reply




Users browsing this thread: 1 Guest(s)