Skip to content

refactor: Some vita optimizations - #11

Merged
lesleyrs merged 3 commits into
lesleyrs:mainfrom
LostCityRS:refactor/vita-optimize
Aug 4, 2026
Merged

refactor: Some vita optimizations#11
lesleyrs merged 3 commits into
lesleyrs:mainfrom
LostCityRS:refactor/vita-optimize

Conversation

@Pazaz

@Pazaz Pazaz commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Just some ideas I had.

  1. Thread affinities pinned to separate cores
  • Game Loop thread (core 0)
  • vitaGL garbage collection thread (core 1)
  • Game Audio thread (core 2)
  1. SceTouchPanelInfo is always the same so it's now cached on startup
  2. No MSAA for vitaGL so it's as sharp as CPU rendering
  3. Disabled vitaGL Vblank since at best it hurts performance here
  4. (fix) It appears that glViewport is simply a transform, it doesn't set rasterization bounds. glScissor is needed on vita or it overdraws
  5. Optimized the PixMap drawing loops. The viewport test advances 4 pixels at once, and the dirty loop can optimize into SIMD to draw 4-16 pixels at once (4 on vita, 16 on macOS). 5-6 ms becomes 1-2 ms

More significant vita gains will have to come improving from the GL backend. Hotspots are World3D and the minimap.

Pazaz added 3 commits August 3, 2026 21:59
- Assign cores for different tasks
- Cache SceTouchPanelInfo on startup
- Disable vitaGL MSAA
- Disable vitaGL Vblank (target fps not met right now)
Addresses vita overdraw
@lesleyrs
lesleyrs merged commit 808d734 into lesleyrs:main Aug 4, 2026
@lesleyrs

lesleyrs commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Agreed with all changes, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants