129 lines
4.5 KiB
Plaintext
129 lines
4.5 KiB
Plaintext
🎯 권장 재배치 구조:
|
|
|
|
vav2/platforms/windows/
|
|
├── vavcore/ # VavCore Windows 빌드
|
|
│ ├── VavCore.vcxproj
|
|
│ ├── src/ → 심볼릭링크 to ../../VavCore/src/
|
|
│ ├── include/ → 심볼릭링크 to ../../VavCore/include/
|
|
│ └── build_windows.bat
|
|
├── godot-plugin/ # Godot Windows 확장
|
|
│ ├── VavCore.Wrapper/
|
|
│ ├── VavCore.Godot/
|
|
│ ├── libs/windows-x86_64/
|
|
│ └── build_godot.bat
|
|
├── applications/ # Windows 애플리케이션들
|
|
│ └── vav2player/ # Vav2Player GUI 앱
|
|
│ ├── Vav2Player/
|
|
│ ├── Vav2PlayerHeadless/
|
|
│ └── build_app.bat
|
|
└── tests/ # 모든 Windows 테스트
|
|
├── vavcore-dll/ # VavCore DLL 테스트
|
|
├── godot-extension/ # Godot 확장 테스트
|
|
├── integration/ # 통합 테스트
|
|
└── unit-tests/ # 유닛 테스트
|
|
|
|
🚀 재배치의 장점:
|
|
|
|
1. 플랫폼별 관리 일원화
|
|
|
|
- Windows 관련 모든 프로젝트가 한 곳에 집중
|
|
- 플랫폼별 빌드 스크립트 통합 관리
|
|
- 의존성 관리 단순화
|
|
|
|
2. 크로스 플랫폼 확장성
|
|
|
|
- Android, iOS 등 다른 플랫폼 추가 시 동일한 구조 적용
|
|
- 플랫폼별 차이점 명확한 분리
|
|
- README.md 설계 철학에 부합
|
|
|
|
3. CI/CD 최적화
|
|
|
|
- 플랫폼별 빌드 파이프라인 구성 용이
|
|
- 테스트 자동화 경로 일관성
|
|
- 배포 아티팩트 관리 체계화
|
|
|
|
💡 실행 제안:
|
|
|
|
어떤 방식으로 진행하시겠습니까?
|
|
|
|
1. 전체 재배치: 모든 Windows 프로젝트를 platforms/windows/로 이동
|
|
2. 단계적 재배치: 테스트 프로젝트부터 우선 이동
|
|
3. 심볼릭 링크 활용: 기존 위치 유지하면서 platforms/windows/에서 참조
|
|
4. 현재 구조 유지: platforms/windows/는 미래 확장용으로 보존
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
● 현재 VavCore DLL 통합 테스트가 완전히 완료되었으므로, 다음 단계를 제안합니다:
|
|
|
|
🎯 다음 작업 옵션들
|
|
|
|
Option 1: Godot 실제 통합 테스트 (강력 추천)
|
|
|
|
- VavCore.Godot 프로젝트에서 실제 AV1 비디오 재생 테스트
|
|
- GPU Surface 디코딩 vs CPU Fallback 성능 비교
|
|
- Godot 씬에서 VavCorePlayer 컨트롤 실제 사용
|
|
|
|
Option 2: GPU Surface 디코딩 활성화
|
|
|
|
- D3D11/Vulkan Surface 디코딩 구현 완성
|
|
- Zero-Copy GPU 파이프라인 실제 동작 검증
|
|
- RenderingDevice 텍스처 바인딩 테스트
|
|
|
|
Option 3: 성능 벤치마킹 시스템
|
|
|
|
- CPU vs GPU 디코딩 성능 측정
|
|
- 4K AV1 실시간 재생 성능 검증
|
|
- 메모리 사용량 프로파일링
|
|
|
|
Option 4: 크로스 플랫폼 확장
|
|
|
|
- Android/iOS 플랫폼 빌드 테스트
|
|
- MediaCodec/Metal Surface 통합
|
|
- 플랫폼별 최적화 검증
|
|
|
|
Option 5: Unity/Unreal 엔진 통합
|
|
|
|
- VavCore C API를 Unity C# 스크립트에 통합
|
|
- Unreal Engine C++ 플러그인 구현
|
|
- 다른 게임 엔진 지원 확장
|
|
|
|
어떤 옵션을 선택하시겠습니까? (1-5번 또는 다른 아이디어가 있으시면 말씀해주세요)
|
|
|
|
---------------------------------------------
|
|
|
|
Option B: Godot 프로젝트 통합 및 UI 구성
|
|
|
|
실제 Godot 씬에서 VavCorePlayer 사용 예제 구현
|
|
- Godot 프로젝트 생성 및 VavCorePlayer 노드 통합
|
|
- UI 컨트롤 구성 (재생/일시정지/탐색/설정)
|
|
- 파일 선택 다이얼로그 구현
|
|
- 실시간 재생 상태 표시 (FPS, 모드, 에러)
|
|
|
|
Option C: 예외 처리 및 에러 복구 강화
|
|
|
|
견고한 에러 핸들링 시스템 구축
|
|
- VavCore 초기화 실패 시 복구 로직
|
|
- 비디오 로딩 실패 시 사용자 피드백
|
|
- 디코딩 오류 시 graceful degradation
|
|
- 메모리 부족 상황 대응
|
|
|
|
Option D: 성능 프로파일링 및 벤치마킹
|
|
|
|
체계적인 성능 측정 시스템
|
|
- 프레임 디코딩 시간 측정
|
|
- GPU vs CPU 모드 성능 비교
|
|
- 메모리 사용량 프로파일링
|
|
- 다양한 해상도별 성능 테스트
|
|
|
|
Option E: 플랫폼별 네이티브 최적화
|
|
|
|
각 플랫폼에 특화된 성능 향상
|
|
- Windows: D3D11 네이티브 Surface 공유 구현
|
|
- Android: Vulkan/OpenGL ES 최적화
|
|
- iOS/macOS: Metal 성능 향상
|
|
- 플랫폼별 빌드 테스트
|
|
|
|
💡 개인적 추천: Option A
|
|
|
|
지금까지 구현한 모든 기능이 이론적으로는 완벽하지만, 실제로 동작하는지 검증이 필요합니다. 특히:
|