2018-06-03, 06:34 AM
(This post was last modified: 2018-06-03, 06:37 AM by Holy_Diver.)
P.S. The best news to come of PlayStation VR is it forced me to look for ways to find quick performance gains that have led to some really good finds. I can play Moratheia in VR at 1920x1080HD at a steady 60fps on a very modest computer, now. That's a much better deal than VR for SOM. Even if I get around to changing its render pathway in more fundamental ways, I don't think that would ever have solved these steadiness issues. The new performance gains come mainly from ensuring the game has priorities over other processes, and it uses 3 back buffers now and a new "presentation" model that's supposed to be as good as a dedicated fullscreen game but works in a Window also. Windows 7 is required to get all of these benefits.
I tried many ways to do these things without success before, but couldn't get them to work, because of little technical things, like I thought 2 back-buffers would be enough, but 3 seems to be required (normally "double" buffering is 1 front and 1 back buffer, but maybe "triple" is really 3 back buffers... I don't know) and the "presentation" thing didn't work because it was incompatible with another feature, and this was not in its documentation (but is in the incompatible feature's documentation.) And the priority thing just used a newer multimedia API I'd never heard of instead of the obvious "thread" priority APIs which may or may not work, but not as well if so.
EDITED: Another factor, is I had to switch Direct3D over to buffered APIs which I believe helped a lot by taking buffer management away from the driver, which could have been highly conservative. But this may just be an Intel drivers thing, since theoretically a driver might be very good at managing its own buffers. This was necessary to do the split-screen picture.
I tried many ways to do these things without success before, but couldn't get them to work, because of little technical things, like I thought 2 back-buffers would be enough, but 3 seems to be required (normally "double" buffering is 1 front and 1 back buffer, but maybe "triple" is really 3 back buffers... I don't know) and the "presentation" thing didn't work because it was incompatible with another feature, and this was not in its documentation (but is in the incompatible feature's documentation.) And the priority thing just used a newer multimedia API I'd never heard of instead of the obvious "thread" priority APIs which may or may not work, but not as well if so.
EDITED: Another factor, is I had to switch Direct3D over to buffered APIs which I believe helped a lot by taking buffer management away from the driver, which could have been highly conservative. But this may just be an Intel drivers thing, since theoretically a driver might be very good at managing its own buffers. This was necessary to do the split-screen picture.