serenity/Userland
Jelle Raaijmakers 4c1d8a7785 LibSoftGPU: Optimize clipping code
Three optimizations are applied:

1. If the list of vertices to clip is empty, return immediately after
   clearing the output list.

2. Remember the previous vertex instead of recalculating whether it is
   within the clip plane.

3. Instead of copying and swapping lists around, operate on the input
   and output lists directly. This prevents a lot of `malloc`/`free`
   traffic as a result of vector assignments.

This takes the clipping code CPU load from 3.9% down to 1.8% for
Quake 3 on my machine.
2022-04-11 19:31:23 -07:00
..
Applets LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
Applications FileManager: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
Demos LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
DevTools HackStudio: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
DynamicLoader Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Games LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
Libraries LibSoftGPU: Optimize clipping code 2022-04-11 19:31:23 -07:00
Services DHCPClient: Close outgoing sockets after use 2022-04-11 00:15:06 +02:00
Shell Shell: Read script arguments as Strings instead of char*s 2022-04-11 21:09:42 +02:00
Utilities env: Use Core::System::exec() 2022-04-11 21:09:42 +02:00
CMakeLists.txt