I've done a lot more playing around, and I did narrow down to a problem with what I think is a background switcher in the VideoNav.xml
Code:
<control type="fadelabel" id="4410">
<scrollspeed>20</scrollspeed>
<scrollout>false</scrollout>
<top>-10000</top>
<pauseatend>7000</pauseatend>
<width>1000</width>
<height>100</height>
<font>font14</font>
<textcolor>black</textcolor>
<label>$INFO[ListItem.Art(extrafanart1)]</label>
<label>$INFO[ListItem.Art(extrafanart2)]</label>
<label>$INFO[ListItem.Art(extrafanart3)]</label>
<label>$INFO[ListItem.Art(extrafanart4)]</label>
</control>
Not 100% sure what that object is actually trying to do (it shoves itself way off screen), but after commenting that out, the CPU went way down on the video navigation. For the life of me, I've never seen the fanart actually changing to any extrafanarts anywhere while navigating. (only ever seen the main fanart of whatever you've focused on). Unless I hear otherwise, I'll just remove that rotating extra-fanart "feature".
The other thing that eats cpu is whenever it wants to autoscroll a textbox. There's a skin option (under Settings->Skin->General->Enable auto scrolling for plot & review) that can be turned off. There were a lot of places that have autoscrolling that were not checking that setting.
I've pushed -b17 into my beta repo which should help with those.
Note if you want to keep auto scrolling turned on (because with it turned off you can't see everything when it doesn't fit in the box), you can try making sure the "Video plot preference" is set to "views: Plot outline | Info dialog: Full plot", because the outline is generally shorter, so you will be less likely for it to need to scroll on most browsing.
I expect I'll try to make "manual scrollbars" show up in more places to enable an alternative to autoscrolling. Or perhaps make such objects expand or pop a dialog to show "full text" on click. Or something of that nature.