Hi,
This is taken from an earlier post I did when I finally got Riven working fine in Win10x64, build 1709...
..... after you get it running but the game freezes every so often, you'll need to set the cpu affinity to CPU 0 (the first core) *if* you have a multicore cpu--which I'll wager almost everyone does these days. I use Process Lasso, and use the watchdog option to set the proper cpu affinity for single-core operation whenever the Riven.exe is detected as a running process. I do this to avoid having to set it manually myself in the Task manager, because it can be a pain to drop out of the game when it's running because it opens up a very low-res screen that renders the manual process a pain, imo (640x480--it does it automatically--no need to force the res in the Win10 exe's compatibility property tab.) You can also set Process Lasso to run only when you want it to (eg, before you start Riven) instead of having it run all the time. Right now this is the only game I own which requires me to do this. Riven is quite nice once you get it running...!
Since you have the game running fine, then getting the cpu affinity right is likely all that remains for being able to run the game without lockups every 10-20 minutes, or quicker. Hope this helps...