SpawnableBenchmarkFixture.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #if defined(HAVE_BENCHMARK)
  9. #pragma once
  10. #include <AzFramework/Spawnable/RootSpawnableInterface.h>
  11. #include <Prefab/Benchmark/PrefabBenchmarkFixture.h>
  12. namespace AzFramework
  13. {
  14. class EntitySpawnTicket;
  15. class RootSpawnableDefinition;
  16. }
  17. namespace Benchmark
  18. {
  19. class BM_Spawnable
  20. : public Benchmark::BM_Prefab
  21. {
  22. protected:
  23. void SetUp(const benchmark::State& state) override;
  24. void SetUp(benchmark::State& state) override;
  25. void SetUpHelper(const benchmark::State& state);
  26. void TearDown(const benchmark::State& state) override;
  27. void TearDown(benchmark::State& state) override;
  28. void TearDownHelper(const benchmark::State& state);
  29. void SetUpSpawnableAsset(uint64_t entityCount);
  30. AZ::Data::Asset<AzFramework::Spawnable> m_spawnableAsset;
  31. AzFramework::EntitySpawnTicket* m_spawnTicket;
  32. AzFramework::RootSpawnableDefinition* m_rootSpawnableInterface;
  33. };
  34. } // namespace Benchmark
  35. #endif