I am writing a visual novel on my desktop, using SDL and C++. I'm having trouble handling my sprites, in SDL.
I am getting the "not enough video memory" error when I create all of my sprites to texture at once. I load the textures in the background process, while it was being rendered. I forgot that textures should be created in the main rendering thread, but if I load the image file in the background and load the textures in the foreground, the screen freezes. How do I fix this?
Our target base resolution is 1980x1080 pixels; that is why I am getting the "not enough video memory" error. The sprites should be detailed and huge in a single sprite frame, as they should look like 2/3 in the screen. That means my sprite sheet is as huge as 8k x 2k or a single row of sprites.
How should I handle it? Do I need to resize our base resolution to a lower size, and just do the bitblock resize of the entire screen/canvas to the screen? Do we do the work, or base the art on a lower screen resolution instead and just resize it to fit the player's screen at runtime? My problem, if we work at smaller resolutions and just resize at runtime, is that it might become blocky or blurry.
The sprite sheets are too big, because the screen resolution is too big. We have one hundred sprite sheets that can not be loaded together, but cannot be loaded in a separate thread. How do I handle a lot of big textures for a visual novel?