aliens

Author Topic: Can this game run well without SSE/SIMD and without OpenGL ?  (Read 2663 times)

Offline Skybuck

  • Colonel
  • ****
  • Posts: 223
    • View Profile
My programming experiences tells me that there is no way that a 2.7 GHz processor can run a 1600x900x32 bit screen at 60 fps.

The computational horse power from the generic x86 and x64 instruction set and cycle count just can't do it (very maybe multi-core if enough cores/hyper threads available)

So I assume that this game can only run in realtime thanks to SSE and SIMD (or other hardware acceleration like GPU)?

This could present a problem for me right now, because I want 32 bit colors and it seems the SSE and SIMD and scalar/zoom functions don't support it or don't support it properly ?

I am considering removing these SSE and SIMD code pieces/scalars because they don't seem to work for 32 bit colors. However then the game would not run in real time anymore ? At first glance this would seem to be a waste of time, but then again, at least I can have a looksy at how a bigger palette would look like.

And it does give a "base" to work from to then try and speed up 32 bit true colors with perhaps SSE/SIMD or maybe some OpenGL software rendering/scalar/zoom functionality so that this game can also run without a gpu or without a working gpu.

I suspect the default software renderer of windows 95 and beyond uses SSE/SIMD internally to speed it up. This is why OpenGL software rendering might be able to run in real time.

Anyway I ask this question anyway: Is it possible to run this game in real time without SSE/SIMD and/or without any other acceleration hardware like GPUs and such, what was your experience during your development days ???

(Are there perhaps compiler conditionals ? and/or other settings to make the game/code fall back to simple software code/generic code without SSE/SIMD/OpenGL/etc ?)

I found a way to disable these problems, in:
engine/zoom.cpp:

bool Zoom::haveSSE2()
{
<snip>
//   return (CPUInfo[3] & 0x04000000) ? true : false;
   return false;
}


Quite interesting ! ;)
« Last Edit: June 03, 2022, 03:10:05 am by Skybuck »