[WIP] Wolf PVS Optimizer: easy way to get +20% to FPS

Wolf PVS Optimizer (WPVS) is a simple script pack, made to boost your game by smart dynamically disabling currently unrequired objects.


Conception
In any game, the player simultaneously interacts with only a small number of objects.
He’s explores one room at time. Fights with one group of monsters. He’s being surrounded only by a few of active objects. For other objects it’s not necessary at this moment to be into the scene at all - player just can’t see those objects, can’t touch or shoot them.

But even if such an object is completely unnecessary most of time, scripts attached to it would still be executed. All the time long. And that usually makes a great waste of CPU resources.
Wolf PVS Optimizer is coming to help a Unity developers with this problem and get lots of additional FPS for free. If you can’t see it… BOOM! …it does not waste your CPU anymore! :slight_smile:


Key features
Wolf PVS Optimizer is born as smart and simple visibility optimizer. No complex scripting, no high-level architecture schemes, just a simple “plug-and-play” powerful script.
So, key features are:

  • A very, very simple usage!
    Just add one script to your camera, add another to your objects - and all is lock’ n’ loaded!

  • .*

  • Won’t ruin your game logic.

  • Optimizer doesn’t mess with your scripts, gameplay, objects interaction and so on.*

  • .*

  • Lightweight and compact.
    No visible slowdown from optimization scripts itself, even for mobile platforms.
    .

  • Provided with pack of smart optimisation algortihms.
    You will find here a suitable one for an each and every kind of a game.

  • .*

  • Build to work together with Unity’s built-in optimization systems.
    You can use WPVS together with LOD and Occlusion Culling systems for an even better result.

  • .*

  • You may link your triggers to appearing and disapperaing objects.
    With WPVS you can make a proximity trigger or spawn trigger without complex scripting.

  • .*

  • Easy and fast portal system.
    Yes, you can make a simple portals using WPVS in a few clicks. Very fast and not complex at all!
    .

  • A simple documentation, well-commented source code and lots of samples.
    Read it, learn it, use it :slight_smile:


Screenshots
It’s not a big deal to show a screenshots for a script asset, I guess :slight_smile: But to show some real work on pictures, I’ve made some screenshots with interesting parts of work on test scenes and so on.

Complex test scene on max quality


Benchmark scene for different kind of algorithms and profiler log for it



Some cool screenshot from portal’s system scene. I made a fancy wallpaper from this :slight_smile:


**
Roadmap
Current development state: 75%
Next planned update: about a next weekend
Release is planned in two variants:

  • Basic - with all main features of asset). Free, OFC.
  • Pro - with most advanced algorithms, triggering and portal systems. Almost free :slight_smile:


Web-demos
Yes, I’ve made some web-demos.
Demos are not completely finished, and as WebGL is slow as sleepy turtle, lots of objects were removed from already prepared scenes. However, working speed is still laughtable - scenes are full of intentionally slow and heavy scripted objects such as flowers. It has a normal speed on PC, but on WebGL… oh…
But, I already see, WPVS is showing it’s potential even in this unfriendly conditions. Let’s try!

  • An Evening Meadow demo - light sources, scripted flowers (continiusly changes their opening state), pyramids and so on. For run use WASD, for jump use Space. Press Enter to turn WPVS on and off.
  • A Flower Benchmark demo - lots, lots of flowers! And some physical objects are here too. WASD for run, Space for jump. Turn presented optimization modes (there would be more in future) using 1-4 keys and watch the upper-right angle of the screen for side-demo.
  • What Is VisVolume demo - an internal demo which shows a conception of visibility volumes. Objects with VisVolumes not in camera would be disabled here. Use Mouse to rotate camera, press Shift to turn on and off VisVolumes visualisation.

*

*
Notes and thanks
I hope my small work will help all the Unity community to make more fast and fun games. It’s a big pain to hear lots of time that Unity games are unoptimized and slow - so, I hope, together we could change it!

Lots of thanks to my friend, digital designer Yen Silence for guidlines with some visuals :slight_smile:

Also I’m looking for someone who can test an upcoming Pro version on some real project.

P.S. Sorry for my bad English. If you find any typo or error, feel free to write back to me using PM. Thanks!

Looking forward to hear some feature request and critical responsed :slight_smile:

1 Like

this seems really cool. i can’t use it for my project but still i always like to check out the assets people are making. i could see myself doing that after i finish my big project and have some more coding experience. awesome!

Hi guys!
Development is currently on it’s way, and I’m going to show you something new very soon :slight_smile:


Now I’m finishing a portal system and I’m going to start polishing WPVS’s documentation.

I’ve ran into some troubles with GC - found that one of WPVS’s modes does have some suboptimal algorithm. This ammount of GC is UNACCEPTABLE! for a serious product OFC and would be fixed ASAP.


Since Unity does not have a simple and GC-free way to do what I want, way to fix this have already been found.

And, finally, I’m going to include some additional features this week and after it.


So, everything in here is intuitive and simple.
Please, tell me, what another feature could be useful for you?

Stay fast, stay tuned with WPVS!